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>