VOD#

Модуль позволяет перепаковывать MP4-файлы для стриминга по HLS, HDS, MSS и DASH.

Режимы работы#

  • Локальный: обслуживает локально доступные файлы (подключен локальный диск или NFS).

  • Удаленный: обслуживает файлы, доступные по протоколу HTTP с использованием запросов диапазона.

  • Сопоставленные: обслуживает файлы согласно спецификации, закодированной в формате JSON (JSON может быть получен с удаленного сервера или прочитан из локального файла).

Поддерживаемые кодеки#

  • Видеокодеки: H264, H265 (DASH/HLS), AV1 (DASH/HLS), VP8 (DASH), VP9 (DASH).

  • Аудиокодеки: AAC, MP3 (HLS/HDS/MSS), AC-3 (DASH/HLS), E-AC-3 (DASH/HLS), VORBIS (DASH), OPUS (DASH), FLAC (HLS), DTS (HLS).

Загрузка модуля#

Подключение модуля в контексте main{}:

load_module modules/ngx_http_vod_module.so;

Пример конфигурации#

location ~ ^/cenchls/p/\d+/(sp/\d+/)?serveFlavor/entryId/([^/]+)/(.*) {
    vod hls;
    vod_hls_encryption_method sample-aes-cenc;
    vod_hls_encryption_key_format "urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed";
    vod_hls_encryption_key_format_versions "1";

    vod_drm_enabled on;
    vod_drm_request_uri "/udrm/system/ovp/$vod_suburi";

    vod_last_modified_types *;
    add_header Access-Control-Allow-Headers '*';
    add_header Access-Control-Expose-Headers 'Server,range,Content-Length,Content-Range';
    add_header Access-Control-Allow-Methods 'GET, HEAD, OPTIONS';
    add_header Access-Control-Allow-Origin '*';
    expires 100d;
}

Дополнительная информация#

Подробная документация и исходный код доступны по ссылке: kaltura/nginx-vod-module.