dash
'dash' 指令在 NGINX RTMP 应用中启用对 MPEG-DASH 的支持。
说明
'dash' 指令是 NGINX RTMP 模块的重要组成部分,允许服务器管理员配置其 RTMP 应用以支持 MPEG-DASH 流式传输。当该指令设置为 'on' 时,它通过 HTTP 上的动态自适应流媒体传输(MPEG-DASH)实现媒体文件的分段传输,这对于根据网络状况动态调整视频质量至关重要。该指令接受单个参数:'on' 或 'off',其中 'on' 启用 MPEG-DASH 处理,'off' 则禁用。MPEG-DASH 过程包括创建媒体分段以及一个附带的清单 (manifest) 文件,指示兼容客户端如何检索这些分段。 'dash' 指令通常放在 NGINX RTMP 配置的 application 块中,启用后,诸如 'dash_fragment'、'dash_path' 和 'dash_playlist_length' 等附加参数会变得相关。这些参数允许进一步自定义,例如指定每个片段的时长、设置 DASH 文件的存储路径以及管理播放列表长度。在开始推流后,服务器负责创建和管理视频与音频轨道,确保客户端能够根据其连接能力无缝切换不同的质量级别。NGINX 进程会按指定创建相应的文件和元数据,从而保证流畅的播放体验。使用该指令可为需要在 Web 上使用可伸缩视频格式的应用带来显著优势。但必须确保同时配置正确的支持性指令,以获得最佳性能并与各种视频播放系统(包括浏览器和移动设备)兼容。与任何流媒体配置一样,初次设置后进行测试和验证对于确保正常运行至关重要。
配置示例
application live {
dash on;
dash_path /tmp/dash;
dash_fragment 1000;
dash_playlist_length 60000;
}确保为 DASH 正确配置所需参数;若未设置 'dash_path',可能导致文件生成出错。
监控流媒体性能,因为启用 DASH 可能会增加资源使用的开销,尤其是在低端服务器上。
确保输出路径具有适当的权限,以便 NGINX 读取/写入。