LLHLS¶
media.play.llhls
Транспорт¶
HTTP или HTTPS; плейлисты и фрагменты передаются отдельными запросами по TCP.
Поддерживаемые кодеки¶
Видео
- H.264
- HEVC
- AV1
Аудио
- AAC
- MP3
- MP2
- AC-3
- E-AC-3
- Opus
Список относится к выдаче Sapsan; возможность декодирования зависит от плеера. Дорожке также нужны корректные параметры кодека для упаковки в выбранный контейнер.
Любой поток Sapsan сразу доступен по HLS (fMP4/CMAF) без дополнительной настройки. Для лайва по умолчанию включен LL-HLS с частичными сегментами.
Сформированные Sapsan структурные текстовые дорожки выдаются как WebVTT; наличие исходного телетекста или растровых DVB-субтитров само по себе не означает готовую текстовую дорожку — сначала требуется соответствующее извлечение или распознавание.
При наличии текстовой субтитровой дорожки LL-HLS отключается для всего стрима: HLS выдаётся обычными сегментами. Поддержка кодека плеером и возможность получить LL-HLS — отдельные условия.
URL проигрывания¶
| Что | URL |
|---|---|
| Мастер-плейлист (все качества) | http://server/streaming/v/<stream>/index.m3u8 |
| Плейлист одной дорожки | http://server/streaming/v/<stream>/variant/<track>/index.m3u8 |
| Отмотка назад (rewind) | http://server/streaming/v/<stream>/rewind/<секунд-назад>/index.m3u8 |
| Архив по абсолютному времени | http://server/streaming/v/<stream>/index.m3u8?from=<utc_ms>&to=<utc_ms> |
В мастер-плейлисте: качества с RESOLUTION, FRAME-RATE и CODECS, аудио выносится в rendition-группы (EXT-X-MEDIA). Аудио G.711 (PCMA/PCMU) в HLS не отдается — такие потоки сначала транскодируйте в AAC.
LL-HLS¶
Для живых потоков Sapsan отдает полноценный LL-HLS (протокол версии 9):
- частичные сегменты
EXT-X-PARTна живом краю плейлиста иEXT-X-PRELOAD-HINTдля следующей части; - blocking playlist reload: клиентские параметры
_HLS_msnи_HLS_partдержат запрос, пока не появится запрошенный сегмент/часть; - дельта-обновления плейлиста:
_HLS_skip=YESсокращает плейлист тегомEXT-X-SKIP; EXT-X-RENDITION-REPORTдля быстрого переключения качеств;- параметры
PART-HOLD-BACK,CAN-SKIP-UNTIL,HOLD-BACKрассчитываются автоматически от длительностей сегмента и части.
Выключить LL-HLS для конкретного клиента можно параметром ?llhls=false — мастер-плейлист пробросит его во все variant-URL, и плеер получит классический HLS (версия 7).
Токены в плейлистах¶
Если проигрывание защищено токеном, ?token= автоматически дописывается во все вложенные URL плейлиста: варианты, init-сегменты, сегменты, части и preload-хинты. Плееру достаточно открыть мастер-плейлист с токеном.