Picture and sound quality
Updated 08 Oct 2026A channel can run perfectly from a technical point of view and still deliver nothing worth watching: a black screen, a picture stuck on one frame, a programme without sound. Castreon checks this by itself on every channel and raises an alert when it lasts.
Available from Castreon 1.2.0, on all plans. On by default.
What it checks
| Check | What it means | Alert after (default) |
|---|---|---|
| Black picture | black screen — the channel logo may stay on screen | 60 s |
| Frozen picture | the same picture, unchanged — the source is stuck on one frame. A clock or a scrolling text counts as movement | 120 s |
| Silent audio | the first audio track carries no sound (its peak stays under the silence threshold, −60 dB by default) | 90 s |
A problem becomes an alert only when it lasts longer than its threshold and shows up in at least two measurements in a row. When the picture or the sound is back, the alert goes out by itself.
The checks run on every running channel that has an HLS output. If the channel already has a bigger problem (the DVB operator's programme gap, an output that writes nothing), Castreon doesn't add quality alerts on top of it.
Where you see it
- On the channel page, under the player: the Quality strip — Picture OK / black / frozen, with brightness and movement, and the Sound bar with its peak in dB and how old the measurement is.
- Alerts: in the channel history, under “Needs attention” on the dashboard (a black picture is critical, frozen picture and silent audio are warnings) and in the channel's health score.
- Notifications: the Picture and sound family.
/metrics:castreon_channel_alert{code="black_picture"}(andfrozen_picture,silent_audio), pluscastreon_channel_audio_peak_db,castreon_channel_picture_luma_percentandcastreon_channel_picture_motion— see Metrics and Grafana.
Settings
Settings → Picture and sound quality:
- Check the picture and sound of the channels — the main switch.
- For each check: on / off and Alert after (seconds), 20–3600.
- Silence threshold (dB) — below this peak the sound counts as silent.
- One measurement every (seconds) — per channel, 30 by default.
- Measurements at once — for the whole server; 1 by default (at most one CPU core).
- Problems now — the channels with a problem at this moment, and since when.
Per-channel exceptions
Some channels are meant to look “wrong”: a radio station with a still picture, a channel that shows a break slate for hours. Under Per-channel exceptions pick the channel, tick no “black”, no “frozen” or no “silent” and Add exception. The ticked checks are no longer done on that channel, and the strip on its page doesn't show those values in red.
How it measures — and what it costs
Castreon takes the latest HLS segment the channel has already delivered (with several qualities, the lowest one) and decodes only the key frames, scaled down to a very small picture, plus the sound of the first track. It doesn't open the source a second time and doesn't touch the viewers' stream.
One measurement costs about 0.1 s of CPU for a 720p channel and about 0.3 s for 1080i from DVB, at low priority. With many channels the measurement cycle simply gets longer (the oldest measurements first) — the CPU load doesn't grow. The first measurement comes about 20 seconds after a channel starts.
Limits
- Only channels with an HLS output are measured; the others show “not measured” on their page.
- Only the first audio track is checked for sound.
- While the “no signal” image is on air, the channel is not measured: the picture comes from you, not from the source.