hls_playlist_length
Задает максимальную длину плейлиста HLS для потоковых приложений в модуле RTMP.
Описание
Директива hls_playlist_length в модуле NGINX RTMP задаёт максимальную продолжительность HLS-плейлиста, который генерируется для live-потоков. Эта директива особенно актуальна в средах, где используется live-вещание через HLS (HTTP Live Streaming). Она позволяет тонко настроить, сколько контента клиент может получить из плейлиста. При трансляции live-потока генерируется плейлист с заданной длиной, определяющей, сколько фрагментов потока включено для просмотра.
Аргумент для hls_playlist_length задаёт длину в миллисекундах. Явно установив это значение, сервер определяет, сколько сегментов live-потока включить в файл плейлиста .m3u8, который он отдаёт клиентам. Более короткая длина плейлиста может привести к более отзывчивому опыту при live-вещании, но также может привести к потере ранних частей потока, которые удаляются по мере добавления новых сегментов. Наоборот, более длинный плейлист может сохранить больше истории потока, что полезно для зрителей, подключающихся позже в трансляции.
В конфигурациях, где также используется функция dash, эту директиву необходимо аккуратно согласовать с соответствующими настройками DASH, чтобы обеспечить совместимость и оптимальную производительность. Установленное значение также может влиять на то, как буфер воспроизведения на стороне клиента управляет данными потока, потенциально влияя на непрерывность воспроизведения.
Пример конфига
rtmp {
server {
listen 1935;
application live {
live on;
hls on;
hls_playlist_length 60000; # 60 seconds
...
}
}
}Убедитесь, что длина плейлиста подходит для вашей аудитории стриминга; слишком короткая может привести к потере истории потока, а слишком длинная — к задержке обновления кэша на клиентских устройствах.
Не путайте эту директиву с другими связанными директивами, такими как dash_playlist_length, так как они могут требовать собственных настроек.
Помните, что изменение длины плейлиста во время активного потока может не вступить в силу до следующего потока или перезапуска. Избегайте частых изменений, чтобы не вызвать путаницы.