sync

'sync' 指令控制 DASH 流应用中片段时间戳的同步。

语法sync on | off;
默认值off
上下文
参数1

说明

在 NGINX RTMP 模块的上下文中,'sync' 指令可用于维护通过 HTTP 的动态自适应流式传输 (DASH) 协议提供的媒体片段之间的一致时间戳。这可确保在媒体片段传输过程中,不同客户端设备之间的播放保持同步——在直播场景中尤为重要,因为延迟和同步问题会影响观众体验。

'sync' 指令接受一个参数,用于指定同步条件。该参数可以包含确定在片段生成期间如何调整时间戳的设置,以提供平滑的播放体验。模块会根据所指定的 'sync' 条件在内部管理媒体片段的调整,这有助于对齐不同的轨道(例如音频和视频),使它们相互之间正确同步播放。

正确使用时,'sync' 指令通过减少与不同步相关的问题显著提升流媒体质量,使片段之间能够无缝切换,观众不会察觉延迟或错误。然而,如果配置错误或不当使用,则可能导致意外的播放异常,例如抖动或多轨流中的音频延迟。

配置示例

application myapp {
    live on;
    sync on;
    dash on;
    dash_fragment 4s;
    dash_playlist_length 60s;
}

确保 'sync' 指令与其他流媒体设置和指令兼容,以避免冲突。

在为实时流与按需流设置同步选项时要谨慎,因为行为可能不同。

在不同设备上进行广泛测试,确保播放一致且不会出现不同步现象。

← 返回所有指令