dash_cleanup
dash_cleanup 指令在播放完成后启用对旧的 MPEG-DASH 片段的清理。
NGINX RTMP module
语法dash_cleanup on | off;
默认值off
上下文
参数1
说明
dash_cleanup 指令用于通过从文件系统中删除较旧的 MPEG-DASH 片段来管理这些片段的生命周期,一旦这些片段不再需要即被移除。这样有助于控制磁盘空间,并确保只有必要的片段可用于流媒体播放。它通过指定一个 Boolean 标志来工作:当启用时,会在播放期间触发删除过程。如果处于激活状态,服务器将监视为 DASH 流生成的片段,并根据当前播放位置和指定的播放长度识别哪些片段可以安全移除。
dash_cleanup 的行为与为 DASH 流在 RTMP 模块中定义的分段和过期逻辑紧密相关。当流被终止或播放会话结束时,服务器会检查那些不再被活动流引用的旧片段。如果播放长度被正确定义,超出该长度的片段文件可以被高效地从存储中清除,从而优化资源利用。
该指令的参数包括启用或禁用清理功能。在应用此指令时,必须确保服务器具有删除这些文件的适当访问权限,这可能需要在文件系统级别配置相应的权限。该功能对于多个用户交互内容的高并发流媒体环境尤为有用,因为它可以减少遗留的流媒体数据造成的杂乱。
配置示例
application myapp {
dash on;
dash_cleanup on;
dash_fragment 5s;
dash_path /path/to/dash_files;
}⚠
确保 NGINX 用户具有在指定目录中删除 dash segments 的权限。
⚠
清理过程可能落后于实时回放,如果流会话非常短暂,可能导致临时存储膨胀。
⚠
回放时长配置错误可能导致仍在使用的 segments 被过早删除。