Results 1 to 4 of 4

Thread: 6 second playback delay - help!

  1. #1

    Default 6 second playback delay - help!

    Hello,

    We are building an audio-only streaming platform based on Wowza and the JW Player 6.

    We have read through all the posts here about reducing latency and tried various settings and adjustments and have been unsuccessful at lowering the iniital playback delay from an unacceptable six seconds, which you can see if you visit this page and press any of the blue play buttons in the side right column half way down the page.

    Our application.xml file is pasted in below. We have tried tweaking cupertinoChunkDurationTarget, cupertinoMaxChunkCount, sanjoseChunkDurationTarget, sanjoseMaxChunkCount, etc in the <HTTPStreamer></HTTPStreamer> section.

    We reduced cupertinoChunkDurationTarget value down to 1000 ms and it caused clicking and popping in the audio but did not reduced playback start time significantly.

    On the player embed side with JW Player 6, we have set the bufferLength parameter to .1s as suggested - no difference.

    We're unsure what to try next. We are running an older version of Wowza (2.2.3) and running it on FreeBSD. Does anybody know if either updating the Wowza app itself or the version of Java we are running might affect our playback latency? We're reluctant to go down that path unless it is absolutely necessary. We would also consider moving to a different server OS, but again, don't want to incur the headache of that if the answer lies elsewhere.

    Any help or insights greatly, greatly appreciated.

    Thanks,

    Barnaby

    <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>default</StreamType>
    			<StorageDir>/usr/www/virtual/ncm/mp3</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>
    			</Properties>
    		</Streams>
    		<!-- HTTPStreamers (separate with commas): cupertinostreaming, smoothstreaming, sanjosestreaming -->
    		<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>24000</MaxRTCPWaitTime>
    			<IdleFrequency>75</IdleFrequency>
    			<RTSPSessionTimeout>180000</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>
    			<!-- 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. #2
    Join Date
    Sep 2011
    Posts
    1,931

    Default

    Hi
    The Apple iOS devices require a number of chunks before they will begin to play.
    Due to them being built this way they will never be able to play a stream in sync with the publishing of that stream.

    I don't think you will be able to get the delay any lower than 6 seconds even with an audio only stream.

    Jason

  3. #3

    Default

    Hi Jason,

    Thanks for your response. Just to clarify, we're working with audio MP3 files for playback, no live encoding or anything like that. And we're experiencing this delay on all major desktop browsers and OSs.

    We're leaning towards upgrading versions at this point, unless anybody has any suggestions for troubleshooting an older 2.2.3 installation.

    Thanks,

    Barnaby

  4. #4
    Join Date
    Sep 2011
    Posts
    1,931

    Default

    Hi
    Oh right OK, well if your Wowza server is taking 6 seconds to play an on demand file on any client it suggests that the IO isn't high enough.
    How have you configured your storage space, are you using multiple disks in a RAID array or SSD's?
    Are you using S3 for Amazon's EC2 service?

    If you upgrade to the latest version of Wowza you can apply for the MediaCache Addon.
    Instructions on how to apply for MediaCache can be found here,
    http://www.wowza.com/forums/content....and-streaming)

    Jason

Posting Permissions

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