hls_variant
Директива `hls_variant` используется для задания варианта потока для HLS (HTTP Live Streaming) в модуле NGINX RTMP.
Описание
Директива hls_variant используется в модуле NGINX RTMP для определения нескольких вариантов потоковой передачи для приложения HLS (HTTP Live Streaming). С помощью этой директивы можно транслировать версии одного и того же контента с разными битрейтами, позволяя клиентам выбирать поток наилучшего качества в зависимости от текущих сетевых условий. Это особенно полезно для адаптивной потоковой передачи, когда сервер может автоматически переключаться между разными уровнями качества видео для оптимизации пользовательского опыта.
Каждая запись hls_variant требует аргумента, который задаёт характеристики вариантного потока, включая пропускную способность и разрешение. Директива работает, предоставляя необходимую метадату, которая помогает генерировать соответствующие плейлист-файлы (.m3u8), используемые клиентами для доступа к различным вариантам потоков. По мере того как клиенты адаптируются к изменяющимся сетевым условиям, HLS-плеер может бесшовно переключаться между этими вариантами на основе указанных атрибутов каждого вариантного потока, задаваемых директивой hls_variant.
Важно тщательно настраивать варианты потоков, чтобы они были корректно закодированы. Если варианты существенно различаются параметрами кодирования, пользователи могут столкнуться с проблемами воспроизведения при попытке переключиться между потоками на лету. Поэтому критически важно обеспечивать согласованность кодеков и интервалов ключевых кадров между разными вариантами для плавного опыта адаптивной потоковой передачи.
Пример конфига
application live {
live on;
hls on;
hls_variant low bandwidth=200000;
hls_variant mid bandwidth=800000;
hls_variant high bandwidth=5000000;
}Убедитесь, что настройки пропускной способности соответствуют фактическому битрейту контента, чтобы избежать проблем с воспроизведением.
У всех вариантов должны быть согласованные параметры кодирования, чтобы обеспечить плавные переходы между потоками.
Крайне важно правильно настроить контекст HLS, в котором определены варианты, чтобы избежать конфликтов.