Results 1 to 6 of 6

Thread: UDP streaming to wowza with ffmpeg

  1. #1
    Join Date
    Oct 2012
    Posts
    9

    Default UDP streaming to wowza with ffmpeg

    Hi.

    I'm trying to push an mpeg-ts stream to wowza with ffmpeg:
    ffmpeg -y -fflags +genpts -threads 0 -rtbufsize 2G -i INPUT -vcodec libx264 -pix_fmt yuv420p -profile:v baseline -s 1280x720 -x264opts level=31:keyint=25:fps=25:ref=3:bitrate=4000:vbv_maxrate=4000:vbv_bufsize=4000 -preset:v medium -aspect 16:9 -af aresample=22050 -acodec libfdk_aac -ab 64k -ar 22050 -ac 2 -map 0:v -map 0:a -f mpegts "udp://192.168.155.6:10103?pkt_size=1316"
    The bitrates lower than 4000k works fine. But when i set video bitrate to 4000k or more, live video sometimes(once in 30-180 seconds) breaks

    and no any message in error.log

    Tried to change sortBuffer, but have no luck.

    The network between encoder and wowza server is 1G.

    For tests, i started at wowza machine a ffmpeg, listening to udp port for incoming stream and saving this stream to file
    ffmpeg -i  udp://192.168.155.6:10103 -c copy -f mpegts test.ts
    The live stream recorded without any artifacts.

    What params in wowza should i check?
    Or it is not possible to stream with high bitrates through udp?

    Wowza running on on ubuntu linux.

    Application.xml
    <Root>
    	<Application>
    		<Connections>
    			<AutoAccept>true</AutoAccept>
    			<AllowDomains></AllowDomains>
    		</Connections>
    		<Streams>
    			<StreamType>live</StreamType>
    			<StorageDir>${com.wowza.wms.context.VHostConfigHome}/content</StorageDir>
    			<KeyDir>${com.wowza.wms.context.VHostConfigHome}/keys</KeyDir>
    			<LiveStreamPacketizers>cupertinostreamingpacketizer, sanjosestreamingpacketizer, smoothstreamingpacketizer, dvrstreamingpacketizer</LiveStreamPacketizers>
    			<Properties>
    <Property>
    	<Name>sortPackets</Name>
    	<Value>true</Value>
    	<Type>Boolean</Type>
    </Property>
    <Property>
    	<Name>sortBufferSize</Name>
    	<Value>1500</Value>
    	<Type>Integer</Type>
    </Property>
    			</Properties>
    		</Streams>
    		<Transcoder>
    			<LiveStreamTranscoder></LiveStreamTranscoder>
    			<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>
    			<Recorders>dvrrecorder</Recorders>
    			<Store>dvrfilestorage</Store>
    			<WindowDuration>10800</WindowDuration>
    			<StorageDir>/data/ndvr</StorageDir>
    			<ArchiveStrategy>delete</ArchiveStrategy>
    			<Repeater>
    				<ChunkOriginURL></ChunkOriginURL>
    			</Repeater>
    			<Properties>
    <Property>
    	<Name>startRecordingOnStartup</Name>
    	<Value>false</Value>
    	<Type>boolean</Type>
    </Property>
    			</Properties>
    		</DVR>
    
    		<HTTPStreamers>cupertinostreaming, smoothstreaming, sanjosestreaming, dvrchunkstreaming</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>
    			<Authentication>
    				<PublishMethod>digest</PublishMethod>
    				<PlayMethod>none</PlayMethod>
    			</Authentication>
    			<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>
    <Property>
    	<Name>rtpDePacketizerWrapper</Name>
    	<Value>com.wowza.wms.rtp.depacketizer.RTPDePacketizerWrapperReChunkMPEGTS</Value>
    </Property>
    			</Properties>
    		</RTP>
    		<MediaCaster>
    			<RTP>
    				<RTSP>
    					<RTPTransportMode>interleave</RTPTransportMode>
    				</RTSP>
    			</RTP>
    			<Properties>
    <Property>
    	<Name>streamTimeout</Name>
    	<Value>12000</Value>
    	<Type>Integer</Type>
    </Property>
    			</Properties>
    		</MediaCaster>
    		<MediaReader>
    			<Properties>
    			</Properties>
    		</MediaReader>
    		<MediaWriter>
    			<Properties>
    			</Properties>
    		</MediaWriter>
    		<LiveStreamPacketizer>
    			<Properties>
     <Property>
     <Name>cupertinoCreateAudioOnlyRendition</Name>
     <Value>true</Value>
     <Type>Boolean</Type>
    </Property>
    <Property>
    	<Name>httpRandomizeMediaName</Name>
    	<Value>true</Value>
    	<Type>Boolean</Type>
    </Property>
    			</Properties>
    		</LiveStreamPacketizer>
    		<HTTPStreamer>
    			<Properties>
    <Property>
    	<Name>cupertinoCalculateCodecs</Name>
    	<Value>true</Value>
    	<Type>Boolean</Type>
    </Property>
    <Property>
    	<Name>cupertinoCalculateResolution</Name>
    	<Value>false</Value>
    	<Type>Boolean</Type>
    </Property>
    <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>
    <Property>
        <Name>cupertinoPacketizeAllStreamsAsTS</Name>
        <Value>true</Value>
        <Type>Boolean</Type>
    </Property>
    
    <!-- HTTP origin mode: on, off -->
    <Property>
    	<Name>httpOriginMode</Name>
    	<Value>on</Value>
    </Property>
    
    <!-- Apple HLS: cache control -->
    <Property>
    	<Name>cupertinoCacheControlPlaylist</Name>
    	<Value>max-age=1</Value>
    </Property>
    <Property>
    	<Name>cupertinoCacheControlMediaChunk</Name>
    	<Value>max-age=3600</Value>
    </Property>
    
    <!-- Smooth Streaming: cache control -->
    <Property>
    	<Name>smoothCacheControlPlaylist</Name>
    	<Value>max-age=1</Value>
    </Property>
    <Property>
    	<Name>smoothCacheControlMediaChunk</Name>
    	<Value>max-age=3600</Value>
    </Property>
    <Property>
    	<Name>smoothCacheControlDataChunk</Name>
    	<Value>max-age=3600</Value>
    </Property>
    
    <!-- Flash HDS: cache control -->
    <Property>
    	<Name>sanjoseCacheControlPlaylist</Name>
    	<Value>max-age=1</Value>
    </Property>
    <Property>
    	<Name>sanjoseCacheControlMediaChunk</Name>
    	<Value>max-age=3600</Value>
    </Property>
    <Property>
    	<Name>cupertinoOnChunkStartResetCounter</Name>
    	<Value>true</Value>
    	<Type>Boolean</Type>
    </Property>
    
    			</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> 
    			<Module>
    			     <Name>ModuleSecureURLParams</Name>
    			     <Description>ModuleSecureURLParams</Description>
    			     <Class>com.wowza.wms.plugin.security.ModuleSecureURLParams</Class>
    			</Module>
    		</Modules>
    		</Properties>
    	</Application>
    </Root>

  2. #2

    Default

    You might try lowering the frame size from 1280 x 720 to something like 720 x 576 to see if that fixes it.

    Salvadore

  3. #3
    Join Date
    Oct 2012
    Posts
    9

    Default

    The same problem =(

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

    Default

    And try a much lower bitrate. You have it set to 4000kbs (4mbs). Try bitrate:1000

    Richard

  5. #5
    Join Date
    Oct 2012
    Posts
    9

    Default

    Bitrates lower than 4000k works fine.
    1Mbps for 720p video is too low.

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

    Default

    It is a balancing act of trade-offs. What matters is throughput from Wowza to the playback client. It doesn't necessarily matter how much bandwidth either end is supposed to have, because there are many hops in between. The best solution is to use the Wowza Transocder and ABR streaming.

    Richard

Similar Threads

  1. FFMPEG to Wowza - Localhost streaming
    By jagadishkamathk in forum General Forum
    Replies: 1
    Last Post: 01-04-2013, 06:39 AM
  2. Replies: 1
    Last Post: 07-23-2012, 05:32 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
  •