DASH playback¶
Every Sapsan stream is available over MPEG-DASH: both live and archive.
Playback URLs¶
| What | URL |
|---|---|
| Live manifest | http://server/streaming/v/<stream>/Manifest.mpd |
| Archive by absolute time | http://server/streaming/v/<stream>/Manifest.mpd?from=<utc_ms>&to=<utc_ms> |
Live manifest¶
A dynamic MPD (isoff-live profile): all qualities of an MBR stream live in one video AdaptationSet as separate Representations sorted by ascending bandwidth — players build the ABR ladder correctly. The timeShiftBufferDepth window and suggestedPresentationDelay are derived automatically (the delay is about two segments behind the live edge).
Archive manifest¶
The archive MPD is static. Recording gaps become separate <Period>s, and the timeline is selectable with the ?timeline= parameter:
compact(default) — gaps are collapsed, the archive plays back continuously;wallclock— gaps are preserved, the timeline matches real time.
Each Representation's bandwidth is measured from the actual data of the requested range. If the archive has a JPEG screenshot track, it is exposed as a standard thumbnail tile AdaptationSet.
Diagnostics¶
The built-in DASH validator checks a manifest: start-time alignment of ABR ladder tracks, gaps and overlaps in the SegmentTimeline between refreshes, audio/video live-edge drift. The mode (static/live) is auto-detected from the manifest @type.
Note
TODO: how to run the validator, verified players (dash.js, ExoPlayer).