Skip to content

Воспроизведение LL-HLS

Flussonic поддерживает воспроизведение по Apple Low-Latency HLS (LL-HLS) — это потоковый протокол, который основан на HLS и преодолевает его высокую задержку.

LL-HLS поддерживает те же кодеки, что и HLS (H.264, AAC, MP3), а также HEVC (H.265) и AV1. Контейнер может быть MPEG-TS или fMP4 (фрагментированный MP4). Flussonic использует fMP4 для упаковки потоков для доставки LL-HLS. Упаковка в fMP4 производится по стандарту CMAF.

Подготовка

Перед использованием HLS с низкой задержкой помните, что нагрузка на сеть и сервер будет увеличиваться, поскольку этот протокол делит сегменты HLS на ещё более мелкие сегменты (также называемые чанками (chunks)).

Кроме того, чтобы получить действительно низкую задержку, вы должны подготовить поток, закодировав его с небольшим GOP (группы изображений). Мы рекомендуем GOP размером 1 или 2 секунды. Транскодер Flussonic создает GOP постоянного размера, который вы можете указать на странице настроек транскодера. Если у видео FPS=25, то секундный GOP будет иметь размер 25 кадров, его и нужно указать в настройках транскодера.

GOP for LL-HLS

LL-HLS URL

Чтобы проигрывать поток по протоколу Apple Low-Latency HLS, откройте в плеере ссылку CMAF из настроек потока на вкладке Output. Полная поддержка LL-HLS есть в плеере THEOplayer.

CMAF — стандарт, который используется для создания MP4-фрагментов, совместимых со спецификацией на Low-Latency HLS.*

Output protocols

URL имеет вид:

http://FLUSSONIC-IP/example_stream/index.ll.m3u8

Если в потоке есть дорожки, которые не нужны в выходном LL-HLS потоке, используйте параметр filter.tracks в URL. С его помощью можно отфильтровать только те треки, которые необходимы на конечном устройстве (например, чтобы не доставлять 360p на телевизоры или 4K на мобильные устройства). Подробнее о фильтрации дорожек читайте в разделе Выбор дорожек для проигрывания.

Необязательные настройки LL-HLS

LL-HLS включен во Flussonic по умолчанию и не требует никаких дополнительных настроек. Мы задали параметры проигрывания LL-HLS таким образом, чтобы добиться оптимального соотношения задержки и потребления ресурсов. Тем не менее, настройки можно менять, если при значениях по умолчанию возникают проблемы (например, долго стартует видео, сервер перегружен при небольшом количестве зрителей, частая буферизация, задержка выше ожидаемой и т.п.). Обратитесь в нашу службу поддержки, чтобы получить помощь в подборе наилучших параметров LL-HLS для ваших задач.

В файле конфигурации можно задать дополнительные параметры (если необходимо):

  • segment_duration — длительность сегмента в HLS-потоке.
  • segment_count — количество сегментов в HLS-плейлисте.
  • chunk_duration — длительность CMAF-чанка, или частичного сегмента HLS, сегмента HLS. По умолчанию значение равно 200 .

Пример:

stream example_stream {
  input fake://fake;
  segment_duration 4;
  segment_count 4;
  chunk_duration 500;
}

Note

Параметры segment_duration и segment_count можно также изменить в UI на вкладке Output в профиле потока.