hls_base_url

Директива `hls_base_url` задаёт базовый URL для сегментов HLS (HTTP Live Streaming), генерируемых модулем NGINX RTMP.

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

Описание

Директива hls_base_url в первую очередь используется в контексте HTTP Live Streaming (HLS) для указания базового URL, из которого клиенты HLS могут получать медиа‑сегменты. Настраивая эту директиву, администраторы сервера могут контролировать расположение сегментов HLS относительно приложения, которое публикует видеопоток. Когда клиент запрашивает плейлист HLS (файл M3U8), он использует этот базовый URL для построения полных URL для доступа к медиасегментам, которые обычно отдаются как файлы .ts.

Типичный сценарий использования hls_base_url — когда сегменты хранятся или доступны по пути, отличному от того, где отдаётся плейлист. Это позволяет задать кастомные точки доступа, такие как CDN или внешнее хранилище, фактически отделяя управление потоком от места доставки. Например, если сегменты хранятся на другом сервере, корректно заданный hls_base_url обеспечит доступ клиентов к потоку без необходимости знать внутреннюю структуру файлов.

Параметры включают один аргумент, который задаёт базовый URL и должен заканчиваться слешем. В зависимости от настройки хостинга (служат ли сегменты локально или с удалённого сервера) URL можно выставить так, чтобы он указывал на правильную точку доступа. Неправильная настройка может привести к тому, что клиенты не смогут получить доступ к медиасегментам, если пути не будут разрешаться правильно. Также стоит отметить, что при наличии в URL специальных символов может потребоваться корректное кодирование URL, чтобы клиенты HLS могли правильно его интерпретировать.

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

application myapp {
    live on;
    hls on;
    hls_base_url http://mycdn.domain.com/hls/;
}

Убедитесь, что базовый URL заканчивается слэшем (/), иначе клиенты могут не суметь корректно разрешить URL сегментов.

Использование неверного URL может привести к ошибкам 404, когда клиенты пытаются получить доступ к сегментам .ts.

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

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