interleave
对于支持该功能的客户端,`interleave` 指令可启用交错的 RTMP 流,从而优化带宽使用。
NGINX RTMP module
语法interleave on | off;
默认值off
上下文
参数1
说明
NGINX RTMP 模块中的 interleave 指令旨在通过允许将交错的音频和视频数据在相同的 TCP 数据包中发送来提高 RTMP 流的效率。这可以显著减少流媒体所需的带宽,特别是对于能够处理交错流的客户端。启用交错的主要目标是通过最小化延迟并减少通常出现在独立音频和视频流中的开销,来提供更高效、更流畅的播放体验。
默认情况下,RTMP 将音频和视频轨道分离到不同的通道,在某些网络条件下这可能效率较低。当启用 interleave 指令时,音频和视频数据包可以复用到单一通道,从而更好地利用可用带宽,并可能改善观众的播放性能。对于需要尽量减少延迟的直播场景,这一点尤其有利。
该指令接受一个参数,通常为一个布尔值,用以指示是否启用交错。当设置为 on 时,服务器可以将音频和视频数据一起发送,从而促进更高效的数据传输。但需要确保客户端(例如媒体播放器)支持交错流,否则流可能无法按预期播放。
配置示例
application live {
live on;
interleave on;
}⚠
确保客户端支持 interleaved streams,否则可能无法正确接收数据。
⚠
配置不正确可能导致无法很好处理 interleaved streams 的客户端出现播放问题。