hls_max_fragment

Директива `hls_max_fragment` задаёт максимальную длительность каждого фрагмента HLS в миллисекундах.

Синтаксисhls_max_fragment duration_in_milliseconds;
По умолчаниюnone
Контекст
Аргументы1

Описание

Директива hls_max_fragment является частью модуля NGINX RTMP, который обеспечивает потоковую передачу в реальном времени с использованием протокола HLS (HTTP Live Streaming). Эта директива принимает один аргумент, представляющий максимальную длительность фрагментов HLS, которые сервер будет генерировать во время сеансов трансляции. Она важна для балансировки между отзывчивостью на запросы клиентов и общим качеством трансляции. Настраивая эту директиву, администраторы потоковой передачи могут подбирать длительности фрагментов в соответствии с пропускной способностью сети, требованиями клиентов или возможностями обработки сервера.

Когда hls_max_fragment установлена в какое-либо значение, эта длительность применяется так, чтобы каждый создаваемый фрагмент не превышал этот лимит. Более короткие фрагменты могут приводить к увеличению числа создаваемых файлов, что повышает накладные расходы для клиента при последовательном запросе этих сегментов. Напротив, более длинные фрагменты могут обеспечить более плавную трансляцию, но при этом увеличить задержку доставки контента. Поэтому выбор длины фрагмента имеет решающее значение для оптимизации производительности с учётом ожидаемого поведения пользователей и условий сети.

Директиву необходимо указывать в контексте application в файле конфигурации сервера. Если она не определена, сервер может вернуться к поведению по умолчанию, которое может не соответствовать конкретному сценарию потоковой передачи, заданному администратором сервера. Также важно убедиться, что эта директива совместима с другими связанными директивами потоковой передачи для достижения оптимальной производительности.

Пример конфига

application myapp {
    live on;
    hls on;
    hls_max_fragment 2000;
}

Убедитесь, что значение, заданное для hls_max_fragment, соответствует ожидаемой задержке и количеству одновременных пользователей.

Избегайте установки чрезвычайно короткой длительности фрагментов, так как это может привести к чрезмерной нагрузке на сервер и нарушению работы клиентов.

Обеспечьте совместимость с директивой hls_fragment.

← Ко всем директивам