如何调试AAC或MP3在HLS打包时的时间戳问题?
转载请注明:文章来自www.wowza.cn
注意: 要访问最新的技术资料,请访问http://www.ttstream.com/wowza/
要在你的Wowza应用中,将wowza内部如何处理AAC或MP3的时间偏离问题记录在日志中,请按下面的步骤进行。

注意:这仅仅是如何调试的方法。它不会修正在日志中标注的任何时间偏移的问题。

  1. 根据编码器的不同类型,下面列出了不同场景下建立直播流应用的配置步骤:

    如何通过RTSP将流推送(push)给Wowza Media Server?

    如何通过RTMP将流推送(push)给Wowza Media Server?

    如何从RTSP源将流拉到(pull)Wowza Media Server?

    如何通过RTP over UDP将流推送(push)到Wowza Media Server?

    如何通过MPEG-TS over UDP将流推送(push)到Wowza Media Server?



  2. Application.xml文件中LiveStreamPacketizer/Properties容器中添加下面的参数:

    要调试AAC的时间戳(timecode)问题,请使用下面的参数:

    Code:
    <Property>
    	<Name>debugAACTimecodes</Name>
    	<Value>true</Value>
    	<Type>Boolean</Type>
    </Property>
    要调试MP3的时间戳(timecode)问题,请使用下面的参数:

    Code:
    <Property>
    	<Name>debugMP3Timecodes</Name>
    	<Value>true</Value>
    	<Type>Boolean</Type>
    </Property>
  3. 以独立(standalone)模式启动服务器(非系统服务模式)。这样的话,debug信息就会写入控制台而不是log文件中,方便你查看问题。


这时,你会在控制台窗口中看到下面的信息:

Code:
tc[difference]: [calculatedTimecode]:[packetTimecode]:[sampleRate]
Wowza Media Server在这里做的事情就是将数据包的时间戳(timecode)和计算后的时间作对比,这个计算后的时间是基于这样一个假设:采样数据没有任何丢失,每一个数据包有有1024个采样。 如果编码器时钟和AAC或MP3时钟没有偏移,那么[difference]的数值应该为0或1。www.wowza.cn 如果有一点偏移,你将会看到[difference]的数值大于1。