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.