hls_max_fragment
`hls_max_fragment` 指令设置每个 HLS 片段的最大持续时间,单位为毫秒。
NGINX RTMP module
语法hls_max_fragment duration_in_milliseconds;
默认值none
上下文
参数1
说明
hls_max_fragment 指令是 NGINX RTMP 模块的一部分,该模块使用 HLS (HTTP Live Streaming) 协议实现实时流媒体传输。此指令接受一个参数,表示服务器在流会话期间生成的 HLS 片段的最大持续时间。它对于在客户端请求的响应速度与整体流媒体体验之间取得平衡至关重要。通过配置此指令,流媒体管理员可以根据网络带宽状况、客户端需求或服务器处理能力调整片段时长。
当 hls_max_fragment 设置为一个值时,该时长将被强制执行,确保每个创建的片段不会超过此限制。较短的片段可能会导致生成更多的文件,从而在客户端按顺序请求这些片段时增加开销。相反,较长的片段可以提供更平滑的播放体验,但可能在内容传递上引入延迟。因此,根据预期的用户行为和环境条件选择片段时长对于优化性能非常关键。
该指令必须在服务器配置文件的应用上下文中指定。如果未定义,服务器可能会采用其默认行为,而该默认行为可能与服务器管理员规定的特定流媒体使用场景不一致。还应确保该指令与其他相关的流媒体指令兼容,以获得最佳性能。
配置示例
application myapp {
live on;
hls on;
hls_max_fragment 2000;
}⚠
确保为 hls_max_fragment 设置的值适合预期延迟和并发用户数。
⚠
避免将片段时长设置得过短,因为这可能导致服务器过载并造成客户端中断。
⚠
确保与 hls_fragment 指令兼容。