HLS / DASH streams check
stream — HLS / DASH streams
Manifest reachable and valid, a complete bitrate ladder, and a fresh live edge.
checkfleet check stream --config checkfleet.yml
HLS and DASH stream health, read from the manifest — it fetches only manifests, never media segments.
- Reachability / validity: an unreachable manifest is
ERROR; a manifest that doesn’t parse (bad.m3u8/.mpd) isBAD. - Ladder completeness: with
min_variants, a master playlist (HLS) or MPD (DASH) with fewer renditions isWARN, with none isBAD. - Live-edge freshness (when
live: true): the age of the live edge — from HLS#EXT-X-PROGRAM-DATE-TIMEadvanced by segment durations, or DASHpublishTime— isWARN/BADpastmax_age_warn_seconds/max_age_crit_seconds. Ifliveis set but the manifest is VOD (HLS#EXT-X-ENDLIST, or a static MPD), that’s aWARN. - Freshness needs a timestamp in the manifest: an HLS live playlist without
#EXT-X-PROGRAM-DATE-TIMEreportsWARN(“not measurable”) rather than a false OK.
For an HLS master playlist with live: true, the check fetches the
highest-bandwidth variant to measure its live edge. Findings are labelled
name, name [ladder], name [live-edge]. Format (HLS vs DASH) is detected
from the .mpd extension, the dash+xml content-type, or an <MPD root.
See Configuration → checks.stream.
See the full module reference for every check, or configuration for the config keys.