Skip to content
Castreon
Monitoring & server

Picture and sound quality

Updated 08 Oct 2026

A 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"} (and frozen_picture, silent_audio), plus castreon_channel_audio_peak_db, castreon_channel_picture_luma_percent and castreon_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.

Privacy

Cookies & local storage

Strictly necessary cookies are always active. Analytics and marketing use Google services and only start if you accept them — until then nothing is sent to Google. You can withdraw your consent here at any time.

Strictly necessary

Without them, sign-in, forms and your chosen language don’t work. They don’t require consent (§ 25(2) no. 2 TDDDG).

Always active
Name Purpose Duration Type
castreon-session Keeps your session: sign-in and chosen language 2 hours, renewed on every visit Cookie
XSRF-TOKEN Protects forms against forged requests 2 hours, renewed on every visit Cookie
remember_web_… Only if you tick “Remember me” at sign-in Until you sign out, max. 400 days Cookie
__cf_bm Cloudflare: tells visitors and bots apart, only when traffic is being checked 30 minutes Cookie · Cloudflare
castreon:consent Remembers your cookie choice 12 months Local storage
theme Customer account appearance: light, dark or system Until you change it Local storage

Analytics

Google Analytics 4 (Google Ireland Ltd.): which pages are visited, where visits come from and on which type of device — with pseudonymous identifiers, without storing your IP address. Helps us improve the website.

Name Purpose Duration Type
_ga Google Analytics: recognises the visitor (pseudonymous ID) 13 months Cookie · Google Analytics
_ga_VHWQRPHPEF Google Analytics: keeps the state of the visit 13 months Cookie · Google Analytics

Marketing

Google Ads (Google Ireland Ltd.): measures whether visits from Google ads lead to a trial or a plan, and allows Castreon ads to be shown on other websites (remarketing).

Name Purpose Duration Type
_gcl_au, _gcl_aw Google Ads: links the visit to the ad click (conversions) 90 days Cookie · Google Ads
IDE, test_cookie Google Ads: remarketing and ad measurement, on Google domains (doubleclick.net) Up to 13 months Cookie · Google (third party)