多协议、性能稳定、丰富API的流媒体服务器软件
如何用服务端的sort buffer解决音视频不同步的问题?
在Wowza 服务端可以设置一个缓存,来解决直播流音视频不同步的问题。

用Wowza Streaming Engine Manager 管理界面来配置



  1. 在管理界面的Welcome页面,点击页面顶部的Applications

  2. ApplicationsTab菜单,点击你的Wowza直播应用(例如live)。

  3. 在Live应用主界面的Propertiestab页,点击Quick Links导航条的Streams链接。

  4. Streams部分,点击Edit:

    1. sortPackets旁边的Enabled复选框打勾,并将设置为true

    2. sortBufferSize旁边的Enabled复选框打勾,并将其设置为750

  5. 点击Save, 然后根据提示重启Wowza 应用。


用XML来配置



编辑[install-dir]/conf/[application]/Application.xml文件(其中[application] 是你要配置的传输流的Wowza应用的名字),在Streams/Properties容器中下添加下面的属性:
<Property>
    <Name>sortPackets</Name>
    <Value>true</Value>
    <Type>Boolean</Type>
</Property>
<Property>
    <Name>sortBufferSize</Name>
    <Value>750</Value>
    <Type>Integer</Type>
</Property>
		

当这个流第一次发布后,检查日志文件验证sorting buffer 是否配置正确。你应该看到类似下面的输出:
sortPackets[1]: sortBufferSize:750
		
如果你在日志中没有看到这样的信息,请再次检查配置文件并确信你在正确的<Properties>容器中设置了属性并且它们没有被注释。

注意:你也可以尝试降低视频编码的复杂度。如果视频是采用Main Profile编码的,可以试着用Baseline Profile代替。有时候,使用了复杂的B帧结构的较复杂的H.264编码在播放过程中会引起视频和音频失去同步。