Results 1 to 9 of 9

Thread: low-latency config

  1. #1
    Join Date
    Nov 2013
    Posts
    5

    Default low-latency config

    I'am using rtmp for the live streaming by wowza.
    I tried follow http://www.wowza.com/forums/content....general-tuning for the PERFORMANCE TUNING but not work.
    It still delay 8 secs.

    How can I tune the wowza latency within 1-2 sec without the network issues?

  2. #2
    Join Date
    Nov 2013
    Posts
    5

    Default

    after this setting:http://www.wowza.com/forums/content....re-to-playback
    still not work.

  3. #3

    Default

    Can you explain your set up?
    What encoder are you using?
    What player are you testing playback in?
    What are the encoder settings? i.e. stream bitrate, keyframe interval or GOP length, FPS, audio and video codecs?

    And can you post the contents of your Application.xml file?

    Salvadore

  4. #4
    Join Date
    Nov 2013
    Posts
    5

    Default

    1. My live application.xml:

    <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>live-lowlatency</StreamType>
                            <StorageDir>${com.wowza.wms.context.VHostConfigHome}/content</StorageDir>
                            <KeyDir>${com.wowza.wms.context.VHostConfigHome}/keys</KeyDir>
                            <!-- LiveStreamPacketizers (separate with commas): cupertinostreamingpacketizer, smoothstreamingpacketizer, sanjosestreamingpacketizer, mpegdashstreamingpacketizer, cupertinostreamingrepeater, smoothstreamingrepeater, sanjosestreamingrepeater -->
                            <LiveStreamPacketizers>cupertinostreamingpacketizer,smoothstreamingpacketizer,sanjosestreamingpacketizer</LiveStreamPacketizers>
                            <!-- Properties defined here will override any properties defined in conf/Streams.xml for any streams types loaded by this application -->
                            <Properties>
                                    <Property>
                                            <Name>flushInterval</Name>
                                            <Value>25</Value>
                                            <Type>Integer</Type>
                                    </Property>
                                    <Property>
                                            <Name>onFlushNotifyClients</Name>
                                            <Value>true</Value>
                                            <Type>Boolean</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 -->
    
                            <!-- If this is a dvrstreamingrepeater, define Application/Repeater/OriginURL to point back to the origin -->
    
                            <!-- 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>
    
                            <!-- Properties for DVR -->
                            <Properties>
                            </Properties>
                    </DVR>
    
                    <TimedText>
                            <!-- VOD caption providers (separate with commas): vodcaptionprovidermp4_3gpp, vodcaptionproviderttml, vodcaptionproviderwebvtt,  vodcaptionprovidersrt, vodcaptionproviderscc -->
                            <VODTimedTextProviders>vodcaptionprovidermp4_3gpp</VODTimedTextProviders>
    
                            <!-- Properties for TimedText -->
                            <Properties>
                            </Properties>
                    </TimedText>
    
                    <!-- HTTPStreamers (separate with commas): cupertinostreaming, smoothstreaming, sanjosestreaming, mpegdashstreaming, 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>senderreport</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>
                            </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>
                            </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. I'm using Viewcast 9100 encode

    3. already set 0 buffer player

    4. 1280x720,
    Video Encoder: H264
    Frame Rate: 30
    Last edited by roger_l; 11-24-2013 at 07:54 PM. Reason: add code tags

  5. #5

    Default

    Hi Andy,

    What type of player are you using?

    Have your tried different players?

    Roger.

  6. #6
    Join Date
    Nov 2013
    Posts
    5

    Default

    I tried http://www.wowza.com/resources/3.5.0...er/player.html online player, also delay

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

    Default

    Try using JW player 6 so you can configure bufferLength easily. Take a look at this JW Player 6 example. Note the bufferLength setting. Set that to 0.

    Richard

  8. #8
    Join Date
    Nov 2013
    Posts
    5

    Default

    I confirmed the problem on my encoder device "viewcast" but I have not any idea to fix that 5 secs delay.

    My H.264 Presets
    Property Value Min Max
    Edit BFramesMax 0 0 4
    Edit GopSize 180 1 4000
    Edit GOPSizeMin 25 1 4000
    Edit InLoopDeblockingFilterAlpha 0 -6 6
    Edit InLoopDeblockingFilterBeta 0 -6 6
    Edit LookaheadFrames 40 0 200
    Edit NoiseReduction 0 0 1500
    Edit QuantizerMax 51 1 51
    Edit QuantizerMin 10 1 51
    Edit ReferenceFrames 3 0 16
    Edit SceneChangeDetectThreshold 60 0 4000
    Edit TrellisRDQuantization 0 0 2

  9. #9
    Join Date
    Sep 2011
    Posts
    1,933

    Default

    Hi,
    Flash RTMP requires 60 frames or 2 keyframes before the stream will play.
    I recommend that you adjust the source to reflect this as this may reduce the delay.

    Jason

Similar Threads

  1. Low Latency
    By AndrewMcGregor in forum Live Streaming and Encoder Discussion
    Replies: 1
    Last Post: 09-19-2013, 03:19 PM

Posting Permissions

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