Проигрывание по DASH¶
Любой поток Sapsan доступен по MPEG-DASH: и лайв, и архив.
URL проигрывания¶
| Что | URL |
|---|---|
| Живой манифест | http://server/streaming/v/<stream>/Manifest.mpd |
| Архив по абсолютному времени | http://server/streaming/v/<stream>/Manifest.mpd?from=<utc_ms>&to=<utc_ms> |
Живой манифест¶
Динамический MPD (профиль isoff-live): все качества MBR-потока лежат в одном видео-AdaptationSet отдельными Representation, отсортированными по возрастанию битрейта — плееры корректно строят ABR-лесенку. Окно timeShiftBufferDepth и suggestedPresentationDelay рассчитываются автоматически (задержка — около двух сегментов от живого края).
Архивный манифест¶
Архивный MPD статический. Дырки в записи оформляются отдельными периодами (<Period>), и таймлайн можно выбрать параметром ?timeline=:
compact(по умолчанию) — дырки схлопываются, архив проигрывается подряд;wallclock— дырки сохраняются, таймлайн соответствует реальному времени.
bandwidth каждой Representation считается по фактическим данным запрошенного диапазона. Если в архиве есть JPEG-дорожка скриншотов, она отдается как стандартный thumbnail tile AdaptationSet.
Диагностика¶
Встроенный валидатор DASH проверяет манифест: выравнивание стартовых времен дорожек ABR-лесенки, дырки и наложения в SegmentTimeline между обновлениями, дрейф живого края аудио/видео. Режим (static/live) определяется по @type манифеста автоматически.
Note
TODO: как запускать валидатор, проверенные плееры (dash.js, ExoPlayer).