Wowza Community

Wowza transcoder problem (Timecode out of order)

I had a wowza transcoder working fine, but now I have this problem:

WARN server comment - SanJosePacketHandler.handlePacket[asttv/_definst_/asttvlive_240p]: Timecode out of order [video]: 5035056:10069992
WARN server comment - SanJosePacketHandler.handlePacket[asttv/_definst_/asttvlive_160p]: Timecode out of order [video]: 5035056:10069992
WARN server comment - SanJosePacketHandler.resetStream[asttv/_definst_/asttvlive_160p][0:11]: Timecodes jumped back in time.
WARN server comment - LiveStreamPacketizerSmoothStreaming.handlePacket[asttv/_definst_/asttvlive_240p]: Timecode out of order [video]: 50350560000:100699920000
WARN server comment - LiveStreamPacketizerSmoothStreaming.resetStream[asttv/_definst_/asttvlive_240p][0:11]: Timecodes jumped back in time.
WARN server comment - CupertinoPacketHandler.handlePacket[asttv/_definst_/asttvlive_240p]: Timecode out of order [video]: 5035056:10069992
WARN server comment - LiveStreamPacketizerSmoothStreaming.handlePacket[asttv/_definst_/asttvlive_160p]: Timecode out of order [video]: 50350560000:100699920000
WARN server comment - CupertinoPacketHandler.handlePacket[asttv/_definst_/asttvlive_160p]: Timecode out of order [video]: 5035056:10069992
WARN server comment - SanJosePacketHandler.resetStream[asttv/_definst_/asttvlive_240p][0:11]: Timecodes jumped back in time.
WARN server comment - CupertinoPacketHandler.resetStream[asttv/_definst_/asttvlive_160p][0:11]: Timecodes jumped back in time.
WARN server comment - LiveStreamPacketizerSmoothStreaming.resetStream[asttv/_definst_/asttvlive_160p][0:11]: Timecodes jumped back in time.
WARN server comment - CupertinoPacketHandler.resetStream[asttv/_definst_/asttvlive_240p][0:11]: Timecodes jumped back in time.

Then I try to play a iphone url form asttv_240p or astv_160p it don´t work.

I try this:

https://www.wowza.com/docs/how-to-debug-aac-or-mp3-timecode-issues-with-apple-hls-packetization

And I see in the logs something like this:

tc[1]: 4883200:4883199:24000
tc[0]: 4883114:4883114:24000
tc[0]: 4883114:4883114:24000
tc[0]: 4883114:4883114:24000
tc[0]: 4883157:4883157:24000
tc[0]: 4883114:4883114:24000
tc[0]: 4883114:4883114:24000
tc[0]: 4883114:4883114:24000
tc[0]: 4883157:4883157:24000
tc[0]: 4883114:4883114:24000
tc[0]: 4883157:4883157:24000
tc[0]: 4883157:4883157:24000
tc[0]: 4883157:4883157:24000
tc[1]: 4883200:4883199:24000
tc[0]: 4883157:4883157:24000
tc[1]: 4883200:4883199:24000

The server is a Centos6 64bits, and mi application is:

<?xml version="1.0" encoding="UTF-8" standalone="no"?><Root>
        <Application>
                <!-- Uncomment to set application level timeout values
                <ApplicationTimeout>60000</ApplicationTimeout>
                <PingTimeout>12000</PingTimeout>
                <ValidationFrequency>8000</ValidationFrequency>
                <MaximumPendingWriteBytes>0</MaximumPendingWriteBytes>
                <MaximumSetBufferTime>60000</MaximumSetBufferTime>
                <MaximumStorageDirDepth>25</MaximumStorageDirDepth>
                -->
                <Connections>
                        <AutoAccept>true</AutoAccept>
                        <AllowDomains/>
                </Connections>
                <!--
                        StorageDir path variables
                        ${com.wowza.wms.AppHome} - Application home directory
                        ${com.wowza.wms.ConfigHome} - Configuration home directory
                        ${com.wowza.wms.context.VHost} - Virtual host name
                        ${com.wowza.wms.context.VHostConfigHome} - Virtual host config directory
                        ${com.wowza.wms.context.Application} - Application name
                        ${com.wowza.wms.context.ApplicationInstance} - Application instance name
                -->
                <Streams>
                        <StreamType>live</StreamType>
                        <StorageDir>${com.wowza.wms.context.VHostConfigHome}/content</StorageDir>
                        <KeyDir>${com.wowza.wms.context.VHostConfigHome}/keys</KeyDir>
                        <!-- LiveStreamPacketizers (separate with commas): cupertinostreamingpacketizer, smoothstreamingpacketizer, sanjosestreamingpacketizer, cupertinostreamingrepeater, smoothstreamingrepeater, sanjosestreamingrepeater -->
                        <LiveStreamPacketizers>cupertinostreamingpacketizer,smoothstreamingpacket  izer,sanjosestreamingpacketizer</LiveStreamPacketizers>
                        <!-- Properties defined here will override any properties defined in conf/Streams.xml for any streams types loaded by this application -->
                        <Properties>
                        </Properties>
                </Streams>
                <Transcoder>
                        <!-- To turn on transcoder set to: transcoder -->
                        <LiveStreamTranscoder>transcoder</LiveStreamTranscoder>
                        <!-- [templatename].xml or ${SourceStreamName}.xml -->
                        <Templates>${SourceStreamName}.xml,transrate.xml</Templates>
                        <ProfileDir>${com.wowza.wms.context.VHostConfigHome}/transcoder/profiles</ProfileDir>
                        <TemplateDir>${com.wowza.wms.context.VHostConfigHome}/transcoder/templates</TemplateDir>
                        <Properties>
                        </Properties>
                </Transcoder>
                <DVR>
                        <!-- As a single server or as an origin, use dvrstreamingpacketizer in LiveStreamPacketizers above -->
                        <!-- Or, in an origin-edge configuration, edges use dvrstreamingrepeater in LiveStreamPacketizers above -->
                        <!-- As an origin, also add dvrchunkstreaming to HTTPStreamers below -->
                        <!-- To turn on DVR recording set Recorders to dvrrecorder.  This works with dvrstreamingpacketizer  -->
                        <Recorders/>
                        <!-- As a single server or as an origin, set the Store to dvrfilestorage-->
                        <!-- edges should have this empty -->
                        <Store/>
                        <!--  Window Duration is length of live DVR window in seconds.  0 means the window is never trimmed. -->
                        <WindowDuration>0</WindowDuration>
                        <!-- Storage Directory is top level location where dvr is stored.  e.g. c:/temp/dvr -->
                        <StorageDir>${com.wowza.wms.context.VHostConfigHome}/dvr</StorageDir>
                        <!-- valid ArchiveStrategy values are append, version, delete -->
                        <ArchiveStrategy>append</ArchiveStrategy>
                        <!-- If this is a dvrstreamingrepeater, define ChunkOriginURL to point back to origin -->
                        <!-- And define Application/Repeater/OriginURL to point back to the origin -->
                        <Repeater>
                                <ChunkOriginURL/>
                        </Repeater>
                        <!-- Properties for DVR -->
                        <Properties>
                        </Properties>
                </DVR>
                <!-- HTTPStreamers (separate with commas): cupertinostreaming, smoothstreaming, sanjosestreaming, dvrchunkstreaming -->
                <HTTPStreamers>cupertinostreaming,smoothstreaming,sanjosestreamin  g</HTTPStreamers>
                <SharedObjects>
                        <StorageDir/>
                </SharedObjects>
                <Client>
                        <IdleFrequency>-1</IdleFrequency>
                        <Access>
                                <StreamReadAccess>*</StreamReadAccess>
                                <StreamWriteAccess>*</StreamWriteAccess>
                                <StreamAudioSampleAccess/>
                                <StreamVideoSampleAccess/>
                                <SharedObjectReadAccess>*</SharedObjectReadAccess>
                                <SharedObjectWriteAccess>*</SharedObjectWriteAccess>
                        </Access>
                </Client>
                <RTP>
                        <!-- RTP/Authentication/[type]Methods defined in Authentication.xml. Default setup includes; none, basic, digest -->
                        <Authentication>
                                <PublishMethod>digest</PublishMethod>
                                <PlayMethod>none</PlayMethod>
                        </Authentication>
                        <!-- RTP/AVSyncMethod. Valid values are: senderreport, systemclock, rtptimecode -->
                        <AVSyncMethod>senderreport</AVSyncMethod>
                        <MaxRTCPWaitTime>12000</MaxRTCPWaitTime>
                        <IdleFrequency>75</IdleFrequency>
                        <RTSPSessionTimeout>90000</RTSPSessionTimeout>
                        <RTSPMaximumPendingWriteBytes>0</RTSPMaximumPendingWriteBytes>
                        <RTSPBindIpAddress/>
                        <RTSPConnectionIpAddress>0.0.0.0</RTSPConnectionIpAddress>
                        <RTSPOriginIpAddress>127.0.0.1</RTSPOriginIpAddress>
                        <IncomingDatagramPortRanges>*</IncomingDatagramPortRanges>
                        <!-- Properties defined here will override any properties defined in conf/RTP.xml for any depacketizers loaded by this application -->
                        <Properties>
                        </Properties>
                </RTP>
                <MediaCaster>
                        <RTP>
                                <RTSP>
                                        <!-- udp, interleave -->
                                        <RTPTransportMode>interleave</RTPTransportMode>
                                </RTSP>
                        </RTP>
                        <!-- Properties defined here will override any properties defined in conf/MediaCasters.xml for any MediaCasters loaded by this applications -->
                        <Properties>
                        </Properties>
                </MediaCaster>
                <MediaReader>
                        <!-- Properties defined here will override any properties defined in conf/MediaReaders.xml for any MediaReaders loaded by this applications -->
                        <Properties>
                        </Properties>
                </MediaReader>
                <MediaWriter>
                        <!-- Properties defined here will override any properties defined in conf/MediaWriter.xml for any MediaWriter loaded by this applications -->
                        <Properties>
                        </Properties>
                </MediaWriter>
                <LiveStreamPacketizer>
                        <!-- Properties defined here will override any properties defined in conf/LiveStreamPacketizers.xml for any LiveStreamPacketizers loaded by this applications -->
                        <Properties>
<Property>
    <Name>cupertinoCreateAudioOnlyRendition</Name>
    <Value>true</Value>
    <Type>Boolean</Type>
</Property>
                        </Properties>
                </LiveStreamPacketizer>
                <HTTPStreamer>
                        <!-- Properties defined here will override any properties defined in conf/HTTPStreamers.xml for any HTTPStreamer loaded by this applications -->
                        <Properties>
<Property>
    <Name>cupertinoAutoCreateMultibitratePlaylist</Name>
    <Value>true</Value>
    <Type>Boolean</Type>
</Property>
<Property>
    <Name>cupertinoUseCalculatedVideoBitrate</Name>
    <Value>true</Value>
    <Type>Boolean</Type>
</Property>
<Property>
    <Name>cupertinoUseCalculatedAudioBitrate</Name>
    <Value>true</Value>
    <Type>Boolean</Type>
</Property>
<Property>
    <Name>cupertinoDefaultVideoBitrate</Name>
    <Value>250000</Value>
    <Type>Integer</Type>
</Property>
<Property>
    <Name>cupertinoMaxCalculatedVideoBitrate</Name>
    <Value>0</Value>
    <Type>Integer</Type>
</Property>
<Property>
    <Name>cupertinoDefaultAudioBitrate</Name>
    <Value>64000</Value>
    <Type>Integer</Type>
</Property>
<Property>
    <Name>cupertinoMaxCalculatedAudioBitrate</Name>
    <Value>64000</Value>
    <Type>Integer</Type>
</Property>
<Property>
    <Name>cupertinoBitrateAdjustmentFactor</Name>
    <Value>110</Value>
    <Type>Integer</Type>
</Property>
                        </Properties>
                </HTTPStreamer>
                <Repeater>
                        <OriginURL/>
                        <QueryString/>
                </Repeater>
                <Modules>
                        <Module>
                                <Name>base</Name>
                                <Description>Base</Description>
                                <Class>com.wowza.wms.module.ModuleCore</Class>
                        </Module>
                        <Module>
                                <Name>properties</Name>
                                <Description>Properties</Description>
                                <Class>com.wowza.wms.module.ModuleProperties</Class>
                        </Module>
                        <Module>
                                <Name>logging</Name>
                                <Description>Client Logging</Description>
                                <Class>com.wowza.wms.module.ModuleClientLogging</Class>
                        </Module>
                        <Module>
                                <Name>flvplayback</Name>
                                <Description>FLVPlayback</Description>
                                <Class>com.wowza.wms.module.ModuleFLVPlayback</Class>
                        </Module>
         <Module>
               <Name>HotLinkDenial</Name>
               <Description>HotLink</Description>
                <Class>uk.org.shamrock.global.ModuleHotLinkDenial</Class>
          </Module>
                        <Module><Name>Wmsauth</Name><Description>Wmsauth</Description><Class>com.wmspanel.Wmsauth</Class></Module>
                </Modules>
                <!-- Properties defined here will be added to the IApplication.getProperties() and IApplicationInstance.getProperties() collections -->
                <Properties>
<Property>
        <Name>domainLock</Name>
        <Value>localhost,www.dominiodeprueba.es</Value>
</Property>
<Property>
        <Name>AllowEncoder</Name>
        <Value>FMLE</Value> <!--FM, Wirecast-->
</Property>
                        <Property>
                                <Name>AllowIP</Name>
                                <Value>xxx.xx.xxx.xxx</Value>
                        </Property>
                </Properties>
        </Application>
</Root>

And part of the transrate.xml

 </Parameters>
                                </Video>
                                <Audio>
                                        <!-- AAC, PassThru, Disable -->
                                        <Codec>PassThru</Codec>
                                        <Bitrate>${SourceAudioBitrate}</Bitrate>
                                        <Parameters>
                                        </Parameters>
                                </Audio>
                                <Properties>
                                </Properties>
                        </Encode>
                        <!-- Setup for 360p, high bandwith, main profile for desktop -->
                        <Encode>
                                <Enable>false</Enable>
                                <Name>360p</Name>
                                <StreamName>mp4:${SourceStreamName}_360p</StreamName>
                                <Video>
                                        <!-- H.264, PassThru, Disable -->
                                        <Codec>H.264</Codec>
                                        <!-- default, CUDA, QuickSync -->
                                        <Transcoder>default</Transcoder>
                                        <GPUID>-1</GPUID>
                                        <FrameSize>
                                                <!-- letterbox, fit-width, fit-height, crop, stretch, match-source -->
                                                <FitMode>fit-height</FitMode>
                                                <Width>640</Width>
                                                <Height>360</Height>
                                                <!-- <Crop>0,0,0,0</Crop> -->
                                                <!-- <SourceRectangle>0,0,320,240</SourceRectangle> -->
                                        </FrameSize>
                                        <Profile>main</Profile>
                                        <Bitrate>850000</Bitrate>
                                        <KeyFrameInterval>
                                                <FollowSource>true</FollowSource>
                                                <Interval>60</Interval>
                                        </KeyFrameInterval>
                                        <Overlays>
                                                <Overlay>
                                                        <Enable>false</Enable>
                                                        <Index>0</Index>
                                                        <ImagePath>${com.wowza.wms.context.VHostConfigHome}/content/wowzalogo.png</ImagePath>
                                                        <Opacity>100</Opacity>
                                                        <Location>
                                                                <X>5</X>
                                                                <Y>5</Y>
                                                                <Width>${ImageWidth}</Width>
                                                                <Height>${ImageHeight}</Height>
                                                                <!-- horiz: left, right, hcenter - vert: top, bottom, vcenter -->
                                                                <Align>left,top</Align>
                                                        </Location>
                                                </Overlay>
                                        </Overlays>
                                        <Parameters>
                                        </Parameters>
                                </Video>
                                <Audio>
                                        <!-- AAC, PassThru, Disable -->
                                        <Codec>PassThru</Codec>
                                        <Bitrate>${SourceAudioBitrate}</Bitrate>
                                        <Parameters>
                                        </Parameters>
                                </Audio>
                                <Properties>
                                </Properties>
                        </Encode>
                        <!-- Setup for 240p, medium bandwidth, baseline profile -->
                        <Encode>
                                <Enable>true</Enable>
                                <Name>240p</Name>
                                <StreamName>mp4:${SourceStreamName}_240p</StreamName>
                                <Video>
                                        <!-- H.264, PassThru, Disable -->
                                        <Codec>H.264</Codec>
                                        <!-- default, CUDA, QuickSync -->
                                        <Transcoder>default</Transcoder>
                                        <GPUID>-1</GPUID>
                                        <FrameSize>
                                                <!-- letterbox, fit-width, fit-height, crop, stretch, match-source  -->
                                                <FitMode>fit-height</FitMode>
                                                <Width>360</Width>
                                                <Height>240</Height>
                                                <!-- <Crop>0,0,0,0</Crop> -->
                                                <!-- <SourceRectangle>0,0,320,240</SourceRectangle> -->
                                        </FrameSize>
                                        <Profile>baseline</Profile>
                                        <Bitrate>260000</Bitrate>
                                        <KeyFrameInterval>
                                                <FollowSource>true</FollowSource>
                                                <Interval>60</Interval>
                                        </KeyFrameInterval>
                                        <Overlays>
                                                <Overlay>
                                                        <Enable>false</Enable>
                                                        <Index>0</Index>
                                                        <ImagePath>${com.wowza.wms.context.VHostConfigHome}/content/wowzalogo.png</ImagePath>
                                                        <Opacity>100</Opacity>
                                                        <Location>
                                                                <X>5</X>
                                                                <Y>5</Y>
                                                                <Width>${ImageWidth}</Width>
                                                                <Height>${ImageHeight}</Height>
                                                                <!-- horiz: left, right, hcenter - vert: top, bottom, vcenter -->
                                                                <Align>left,top</Align>
                                                        </Location>
                                                </Overlay>
                                        </Overlays>
                                        <Parameters>
                                        </Parameters>
                                </Video>
                                <Audio>
                                        <!-- AAC, PassThru, Disable -->
                                        <Codec>PassThru</Codec>
                                        <Bitrate>${SourceAudioBitrate}</Bitrate>
                                        <Parameters>
                                        </Parameters>
                                </Audio>
                                <Properties>
                                </Properties>
                        </Encode>
                        <!-- Setup for 160p, low bandwith, baseline profile for 3G mobile devices such as iOS, Android, Blackberry -->
                        <Encode>
                                <Enable>true</Enable>
                                <Name>160p</Name>
                                <StreamName>mp4:${SourceStreamName}_160p</StreamName>
                                <Video>
                                        <!-- H.264, PassThru, Disable -->
                                        <Codec>H.264</Codec>
                                        <!-- default, CUDA, QuickSync -->
                                        <Transcoder>default</Transcoder>
                                        <GPUID>-1</GPUID>
                                        <FrameSize>
                                                <!-- letterbox, fit-width, fit-height, crop, stretch, match-source  -->
                                                <FitMode>fit-height</FitMode>
                                                <Width>284</Width>
                                                <Height>160</Height>
                                                <!-- <Crop>0,0,0,0</Crop> -->
                                                <!-- <SourceRectangle>0,0,320,240</SourceRectangle> -->
                                        </FrameSize>
                                        <Profile>baseline</Profile>
                                        <Bitrate>110000</Bitrate>
                                        <KeyFrameInterval>
                                                <FollowSource>true</FollowSource>
                                                <Interval>60</Interval>
                                        </KeyFrameInterval>
                                        <Overlays>
                                                <Overlay>
                                                        <Enable>false</Enable>
                                                        <Index>0</Index>
                                                        <ImagePath>${com.wowza.wms.context.VHostConfigHome}/content/wowzalogo.png</ImagePath>
                                                        <Opacity>100</Opacity>
                                                        <Location>
                                                                <X>5</X>
                                                                <Y>5</Y>
                                                                <Width>${ImageWidth}</Width>
                                                                <Height>${ImageHeight}</Height>
                                                                <!-- horiz: left, right, hcenter - vert: top, bottom, vcenter -->
                                                                <Align>left,top</Align>
                                                        </Location>
                                                </Overlay>
                                        </Overlays>
                                        <Parameters>
                                        </Parameters>
                                </Video>
                                <Audio>
                                        <!-- AAC, PassThru, Disable -->
                                        <Codec>AAC</Codec>
                                        <Bitrate>48000</Bitrate>
                                        <Parameters>
                                        </Parameters>
                                </Audio>
                                <Properties>
                                </Properties>
                        </Encode>
<!-- Example Encode block for source, not required unless Member of StreamNameGroup. -->
                        <Encode>
                                <Enable>true</Enable>
                                <Name>aac</Name>
                                <StreamName>mp4:${SourceStreamName}_aac</StreamName>
                                <Video>
                                        <!-- H.264, PassThru, Disable -->
                                        <Codec>PassThru</Codec>
                                        <Bitrate>${SourceVideoBitrate}</Bitrate>
                                        <Parameters>
                                        </Parameters>
                                </Video>
                                <Audio>
                                        <!-- AAC, PassThru, Disable -->
                                        <Codec>AAC</Codec>
                                        <Bitrate>32000</Bitrate>
                                        <Parameters>
                                        </Parameters>
                                </Audio>
                                <Properties>
                                </Properties>
                        </Encode>
                </Encodes>
                <Decode>
                        <Video>
                                <Deinterlace>false</Deinterlace>
                                <Overlays>
                                        <Overlay>
                                                <Enable>false</Enable>
                                                <Index>0</Index>
                                                <ImagePath>${com.wowza.wms.context.VHostConfigHome}/content/wowzalogo.png</ImagePath>
                                                <Opacity>100</Opacity>
                                                <Location>
                                                        <X>5</X>
                                                        <Y>5</Y>
                                                        <Width>${ImageWidth}</Width>
                                                        <Height>${ImageHeight}</Height>
                                                        <!-- horiz: left, right, hcenter - vert: top, bottom, vcenter -->
                                                        <Align>left,top</Align>
                                                </Location>
                                        </Overlay>
                                </Overlays>
                                <Parameters>
                                </Parameters>
                        </Video>
                        <Properties>
                        </Properties>
                </Decode>
                <StreamNameGroups>
                        <!-- Note: Play stream using stream name ngrp:[stream-name] -->
                        <StreamNameGroup>
                                <Name>${SourceStreamName}_all</Name>
                                <Members>
<!--                                    <Member>
                                                <EncodeName>source</EncodeName>
                                        </Member>
                                        <Member>
                                                <EncodeName>720p</EncodeName>
                                        </Member>
                                        <Member>
                                                <EncodeName>360p</EncodeName>
                                        </Member>
                                        <Member>
                                                <EncodeName>240p</EncodeName>
                                        </Member>
                                        <Member>
                                                <EncodeName>160p</EncodeName>
                                        </Member>
-->
                                </Members>
                        </StreamNameGroup>
                        <StreamNameGroup>
                                <Name>${SourceStreamName}_mobile</Name>
                                <Members>
                                        <Member>
                                                <EncodeName>240p</EncodeName>
                                        </Member>
                                        <Member>
                                                <EncodeName>160p</EncodeName>
                                        </Member>
                                        <Member>
                                                <EncodeName>aac</EncodeName>
                        <MediaListRendition>
                                <WowzaAudioOnly>true</WowzaAudioOnly>
                        </MediaListRendition>
                                        </Member>
                                </Members>
                        </StreamNameGroup>
                </StreamNameGroups>
                <Properties>
                </Properties>
        </Transcode>
</Root>

how I can fix this? The server aren´t overloaded the cpu is about 10-20% and have 8G of RAM.

Regards.

Rubén

I have restarted the server and now I haven´t that log problem, but the transcoder still not working:

Now I see: HTTPStreamerAdapterCupertinoStreamer.service: Request timeout: 8000

So I have 3 transcoder output, _240p _160p and aac (audio only) and only work the aac.

I have test the same urls that works a few weeks ago, and only work the _aac

What is the source, which encoder, and what are the audio and video encoding details.

Re-start Wowza, run through your tests including starting the source and playback in a Flash client. Then zip up and send /conf, /logs and /transcoder folders and to support@wowza.com

Include the info about the source, and a link to this thread for reference.

Richard

What is the source, which encoder, and what are the audio and video encoding details.

Re-start Wowza, run through your tests including starting the source and playback in a Flash client. Then zip up and send /conf, /logs and /transcoder folders and to support@wowza.com

Include the info about the source, and a link to this thread for reference.

Richard

Do you solve the problem? I’m facing the same problem, please, give me a help.