Shoutcast Restream problem

Hi,

I create radio ports with Centova Cast and Shoutcast and i use Wowza Stream Engine version 4.0.1 to make restreamings. I follow all steps in the manual to config restream with Wowza and all works fine, but when the radio have a few minutes or hours, start to cut the audio, and some cases repeat a range of 30 seconds repeat and repeat, the only solutions that i have is restart the .stream when i do this the stream follow excelent, but after time we have the same problem again and again.

I don’t know what can i do, this wowza instalation is new, with a new server, in my old server all works fine but we change to this new server to have a better performance with hardware and bandwith.

What is my mistake?

I hope you can help me.

This is a copy of my application.xml /live

Thanks

<Root version="1">
<Application>
<Name>live</Name>
<AppType>Live</AppType>
<Description>
Default application for live streaming created when Wowza Streaming Engine is installed. Use this application with its default configuration or modify the configuration as needed. You can also copy it to create another live application.
</Description>
<!--
 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/>
</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</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, mpegdashstreamingrepeater 
-->
<LiveStreamPacketizers>
cupertinostreamingpacketizer,smoothstreamingpacketizer,sanjosestreamingpacketizer,mpegdashstreamingpacketizer
</LiveStreamPacketizers>
<!--
 Properties defined here will override any properties defined in conf/Streams.xml for any streams types loaded by this application 
-->
<Properties></Properties>
</Streams>
<Transcoder>
<!--  To turn on transcoder set to: transcoder  -->
<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/>
<!--
 As a single server or as an origin, set the Store to dvrfilestorage
-->
<!--  edges should have this empty  -->
<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,mpegdashstreaming
</HTTPStreamers>
<MediaCache>
<MediaCacheSourceList/>
</MediaCache>
<SharedObjects>
<StorageDir>
${com.wowza.wms.context.VHostConfigHome}/applications/${com.wowza.wms.context.Application}/sharedobjects/${com.wowza.wms.context.ApplicationInstance}
</StorageDir>
</SharedObjects>
<Client>
<IdleFrequency>-1</IdleFrequency>
<Access>
<StreamReadAccess>*</StreamReadAccess>
<StreamWriteAccess>*</StreamWriteAccess>
<StreamAudioSampleAccess/>
<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/>
<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>
<StreamValidator>
<Enable>true</Enable>
<ResetNameGroups>true</ResetNameGroups>
<StreamStartTimeout>20000</StreamStartTimeout>
<StreamTimeout>12000</StreamTimeout>
<VideoStartTimeout>0</VideoStartTimeout>
<VideoTimeout>0</VideoTimeout>
<AudioStartTimeout>0</AudioStartTimeout>
<AudioTimeout>0</AudioTimeout>
<VideoTCToleranceEnable>false</VideoTCToleranceEnable>
<VideoTCPosTolerance>3000</VideoTCPosTolerance>
<VideoTCNegTolerance>-500</VideoTCNegTolerance>
<AudioTCToleranceEnable>false</AudioTCToleranceEnable>
<AudioTCPosTolerance>3000</AudioTCPosTolerance>
<AudioTCNegTolerance>-500</AudioTCNegTolerance>
<DataTCToleranceEnable>false</DataTCToleranceEnable>
<DataTCPosTolerance>3000</DataTCPosTolerance>
<DataTCNegTolerance>-500</DataTCNegTolerance>
<AVSyncToleranceEnable>false</AVSyncToleranceEnable>
<AVSyncTolerance>1500</AVSyncTolerance>
<DebugLog>false</DebugLog>
</StreamValidator>
<!--
 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>
<Manager>
<!--  Properties defined are used by the Manager  -->
<Properties></Properties>
</Manager>
<Repeater>
<OriginURL/>
<QueryString>
<![CDATA[ ]]>
</QueryString>
</Repeater>
<StreamRecorder>
<Properties></Properties>
</StreamRecorder>
<Modules>
<Module>
<Name>base</Name>
<Description>Base</Description>
<Class>com.wowza.wms.module.ModuleCore</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>ModuleCoreSecurity</Name>
<Description>Core Security Module for Applications</Description>
<Class>com.wowza.wms.security.ModuleCoreSecurity</Class>
</Module>
<Module>
<Name>manager</Name>
<Description>Manager SN</Description>
<Class>com.wowza.wms.example.module.http.HTTPresentation2</Class>
</Module>
</Modules>
<!--
 Properties defined here will be added to the IApplication.getProperties() and IApplicationInstance.getProperties() collections 
-->
<Properties>
<Property>
<Name>securityPublishRequirePassword</Name>
<Value>true</Value>
<Type>Boolean</Type>
</Property>
</Properties>
</Application>
</Root>

I there, can you please provide a little more information.

What guide are you following? Is it this:

How to re-stream audio from SHOUTcast/Icecast

Are you noticing this behavior regularly?

What clients are you testing in when this happens?

You can try adding this property to the RTP/Properties container in the Application.xml file to see if it helps:

<Property>
    <Name>audioPacketizerAAC</Name>
    <Value>com.wowza.wms.rtp.packetizer.RTPPacketizerMPEG4LATM</Value>
</Property>

Lastly, this issue sounds like you are using a StreamType of “default” but I see you have it set to “live” make sure you are re-streaming to the correct application.

Salvadore

Hi,

If you are referring to total memory, that is a reflection of the total system wide memory usage, and not necessarily that which is used by Wowza.

Wowza makes use of the Wowza Heap allocation, which is only a part of that total memory usage shown.

Daren

Hi @salvadore thanks for your reply.

What guide are you following? Is it this:

How to re-stream audio from SHOUTcast/Icecast

– Yes, this guide i follow

Are you noticing this behavior regularly?

– Yes, this happend 1 or 2 times on day each 3 or 4 hours, when i restart the .streams the audio goes good.

What clients are you testing in when this happens?

– We have around 20 radios working on this server, radios using Shoutcast with AAC and restreaming with Wowza nothing more.

You can try adding this property to the RTP/Properties container in the Application.xml file to see if it helps:

– I’ll add this property right now i hope this resolve this issue.

Lastly, this issue sounds like you are using a StreamType of “default” but I see you have it set to “live” make sure you are re-streaming to the correct application.

– I don’t understand this, i Have set StreamType to “live” not to default and when we set the restream only use “live”.

Thaks again for your help.

Alex.

Another thing i see, is when the server have between 2 and 4 days uptime without restarts the memory goes up.

See this image of process.

I add the AudioPacketizer AAC and the problem persist, i add this module https://www.wowza.com/docs/how-to-enable-advanced-monitoring-and-resetting-of-mediacaster-streams

But nothing happen, the service is bad, the audio is cut :frowning: after 3 or 4 hours

Somebody have any idea what ocurre?