hls
Включает поддержку MPEG-DASH для трансляций в режиме реального времени в NGINX RTMP module.
Описание
Директива hls в NGINX RTMP module используется для включения HTTP Live Streaming (HLS) для медиаконтента, который транслируется через NGINX. Эта директива упрощает доставку видеоконтента клиентам с использованием протокола HLS, что особенно полезно для адаптивной потоковой передачи. Когда для приложения задана директива hls, NGINX разобьёт входящий медиапоток на фрагменты и сделает их доступными через HLS playlist, позволяя клиентам плавно воспроизводить поток, загружая эти сегменты по ходу воспроизведения.
Директиву HLS можно настроить с различными параметрами, включая длину hls_fragment, задающую продолжительность каждого сегмента, и hls_playlist_length, определяющую количество сегментов, включаемых в плейлист. Полученный плейлист, обычно в формате M3U8, обслуживается по HTTP и может быть доступен через различные медиаплееры, поддерживающие HLS, обеспечивая широкую совместимость на разных устройствах и в браузерах. Важно убедиться, что базовый формат медиаконтента поддерживается и что конфигурация системы обеспечивает необходимые права доступа к файлам для сегментов HLS и плейлиста.
В дополнение к базовой функциональности HLS пользователи должны учитывать последствия использования этой директивы в отношении управления ресурсами и корректировки качества трансляции, так как настройки могут влиять на производительность и использование полосы пропускания. Поэтому важно оценить требования к трансляции и соответствующим образом настроить параметры HLS.
Пример конфига
application live {
live on;
hls on;
hls_fragment 5s;
hls_playlist_length 60s;
hls_path /tmp/hls;
}Убедитесь, что каталог hls_path имеет правильные права доступа для записи файлов.
Директиву hls следует задавать внутри блока приложения, чтобы она работала корректно.
Неправильная настройка длины фрагментов может привести к чрезмерному использованию ресурсов или ухудшению производительности.