Results 1 to 3 of 3

Thread: Live Stream Play Back Issue.

  1. #1

    Default Live Stream Play Back Issue.

    Dear Team,

    Recently i have bough 5 perpetual license. There is an issue with the playback the streams are not playing smoothly. I have done all the fine tuning and still the same. You may try play below streams for testing.

    rtsp://110.164.128.133:1935/CH1/CH1.stream until /CH25/CH25.stream . Below is the application.xml that im using for all the channels.


    <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></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>rtp-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></LiveStreamPacketizers>
    <!-- Properties defined here will override any properties defined in conf/Streams.xml for any streams types loaded by this application -->
    <Properties>
    <Property>
    <Name>sortPackets</Name>
    <Value>true</Value>
    <Type>Boolean</Type>
    </Property>
    <Property>
    <Name>sortBufferSize</Name>
    <Value>5000</Value>
    <Type>Integer</Type>
    </Property>
    <Property>
    <Name>instantOn</Name>
    <Value>true</Value>
    <Type>Boolean</Type>
    </Property>
    <Property>
    <Name>instantOnBufferTime</Name>
    <Value>3000</Value>
    <Type>Integer</Type>
    </Property>
    </Properties>
    </Streams>
    <Transcoder>
    <!-- To turn on transcoder set to: transcoder -->
    <LiveStreamTranscoder></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></Recorders>

    <!-- As a single server or as an origin, set the Store to dvrfilestorage-->
    <!-- edges should have this empty -->
    <Store></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></ChunkOriginURL>
    </Repeater>

    <!-- Properties for DVR -->
    <Properties>
    </Properties>
    </DVR>

    <TimedText>
    <!-- VOD caption providers (separate with commas): vodcaptionprovidermp4_3gpp, vodcaptionproviderttml, vodcaptionprovidersrt, vodcaptionproviderscc -->
    <VODTimedTextProviders>vodcaptionprovidermp4_3gpp</VODTimedTextProviders>

    <!-- Properties for TimedText -->
    <Properties>
    </Properties>
    </TimedText>

    <!-- HTTPStreamers (separate with commas): cupertinostreaming, smoothstreaming, sanjosestreaming, dvrchunkstreaming -->
    <HTTPStreamers>cupertinostreaming,smoothstreaming,sanjosestreaming</HTTPStreamers>
    <SharedObjects>
    <StorageDir></StorageDir>
    </SharedObjects>
    <Client>
    <IdleFrequency>-1</IdleFrequency>
    <Access>
    <StreamReadAccess>*</StreamReadAccess>
    <StreamWriteAccess>*</StreamWriteAccess>
    <StreamAudioSampleAccess></StreamAudioSampleAccess>
    <StreamVideoSampleAccess></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>rtptimecode</AVSyncMethod>
    <MaxRTCPWaitTime>12000</MaxRTCPWaitTime>
    <IdleFrequency>75</IdleFrequency>
    <RTSPSessionTimeout>90000</RTSPSessionTimeout>
    <RTSPMaximumPendingWriteBytes>0</RTSPMaximumPendingWriteBytes>
    <RTSPBindIpAddress></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>
    <Property>
    <Name>multicastInterfaceAddress</Name>
    <Value>200.1.1.114</Value>
    </Property>
    <Property>
    <Name>forceMPEGTSOut</Name>
    <Value>true</Value>
    <Type>Boolean</Type>
    </Property>
    <Property>
    <Name>rtpWrapMPEGTS</Name>
    <Value>true</Value>
    <Type>Boolean</Type>
    </Property>
    <Property>
    <Name>audioIsAligned</Name>
    <Value>false</Value>
    <Type>Boolean</Type>
    </Property>
    <Property>
    <Name>videoIsAligned</Name>
    <Value>false</Value>
    <Type>Boolean</Type>
    </Property>
    <Property>
    <Name>rtpDePacketizerWrapper</Name>
    <Value>com.wowza.wms.rtp.depacketizer.RTPDePacketizerWrapperPacketSorter</Value>
    </Property>
    <Property>
    <Name>rtpDePacketizerPacketSorterBufferTime</Name>
    <Value>5000</Value>
    <Type>Integer</Type>
    </Property>
    <Property>
    <Name>rtpDePacketizerPacketSorterFlushTime</Name>
    <Value>100</Value>
    <Type>Integer</Type>
    </Property>
    <Property>
    <Name>rtpDePacketizerPacketSorterLogPacketLoss</Name>
    <Value>true</Value>
    <Type>Boolean</Type>
    </Property>
    <Property>
    <Name>logIncompleteMPEGTSVideoFrames</Name>
    <Value>true</Value>
    <Type>Boolean</Type>
    </Property>

    </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>
    <Property>
    <Name>forceInterleaved</Name>
    <Value>false</Value>
    <Type>Boolean</Type>
    </Property>
    <Property>
    <Name>streamTimeout</Name>
    <Value>12000</Value>
    <Type>Integer</Type>
    </Property>
    </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>chunkBreakOnPTS</Name>
    <Value>false</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>
    </Properties>
    </HTTPStreamer>
    <Repeater>
    <OriginURL></OriginURL>
    <QueryString><![CDATA[]]></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>
    </Modules>
    <!-- Properties defined here will be added to the IApplication.getProperties() and IApplicationInstance.getProperties() collections -->
    <Properties>
    </Properties>
    </Application>
    </Root>

  2. #2
    Join Date
    Dec 2007
    Posts
    21,962

    Default

    What is the source? What rtsp client are you testing with? I am playing your stream in VLC (My connection speed is not great at this location), it doesn't look great.

    FFprobe shows a lot of missing packets, but that is not clear from here if the problem is between me and your server, or your server and the source. Is it an RTSP or mpeg-ts source? If so, you can use the Jitter Buffer to see packet loss between Wowza and the source

    The framerate is 50, you might turn that down to 24 or 30. And reducing bitrate and framesize will probably help. It appears to be over 1mbs. Try 600 - 800kbs, which is more optimal for internet delivery in most locales.

    Richard

  3. #3

    Default

    Dear Team,

    My source is Mpeg-ts.. Im using Decoder connect to my hardware h.264 encoder. I have set the bitrate to 800kbs . for your information i'm using xbmc to play the stream.
    Please test this url for 800kbs rtsp://110.164.128.131:1935/CH2/CH2.stream . I would like to know increasing the buffer value in below config will help to keep more cache when it's start play.

    can you provide the ffprobe command that you use to test the packet drops.

    <Property>
    <Name>sortPackets</Name>
    <Value>true</Value>
    <Type>Boolean</Type>
    </Property>
    <Property>
    <Name>sortBufferSize</Name>
    <Value>5000</Value>
    <Type>Integer</Type>
    </Property>

    <Property>
    <Name>rtpDePacketizerPacketSorterBufferTime</Name>
    <Value>5000</Value>
    <Type>Integer</Type>
    </Property>
    <Property>
    <Name>rtpDePacketizerPacketSorterFlushTime</Name>
    <Value>100</Value>
    <Type>Integer</Type>
    </Property>

Similar Threads

  1. Reduce nDvr latency for live play back
    By ggrillo in forum AddOn: Wowza nDVR
    Replies: 3
    Last Post: 11-24-2012, 10:46 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •