sync
'sync' 指令控制 DASH 流应用中片段时间戳的同步。
NGINX RTMP module
语法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' 指令与其他流媒体设置和指令兼容,以避免冲突。
⚠
在为实时流与按需流设置同步选项时要谨慎,因为行为可能不同。
⚠
在不同设备上进行广泛测试,确保播放一致且不会出现不同步现象。