• How to debug encoder multi-bitrate keyframe alignment

    To debug encoder multi-bitrate keyframe alignment, do the following:

    1. Add the following property to the Streams/Properties container in [install-dir]/conf/[application]/Application.xml. This instructs the Wowza media server to log PTS (presentation timestamp) and DTS (decoder timestamp) information for every video keyframe.
      <Property>
      	<Name>debugKeyFrameTimecodes</Name>
      	<Value>true</Value>
      	<Type>Boolean</Type>
      </Property>
    2. Add the following property to the LiveStreamPacketizer/Properties container in Application.xml. This instructs the Wowza media server to log information for every HTTP chunk that's created (not just the first 10 chunks).
      <Property>
      	<Name>maxChunkLogCount</Name>
      	<Value>0</Value>
      	<Type>Integer</Type>
      </Property>

    For multi-bitrate to work properly, all keyframes that represent a single multi-bitrate presentation should have keyframes with identical timecode values. By default, the Wowza media server aligns streams on PTS values. Some encoders are aligned on DTS values. If you find that the DTS values are aligned but the PTS values are not aligned, you can add the following property to the LiveStreamPacketizer/Properties container in Application.xml to align on DTS values:
    <Property>
    	<Name>chunkBreakOnPTS</Name>
    	<Value>false</Value>
    	<Type>Boolean</Type>
    </Property>

    Originally Published: 10-01-2010.

    If you're having problems or want to discuss this article, post in our forum.