How to re-stream audio from SHOUTcast/Icecast

You should be able to remove “/definst

Actually, I don’t see where it is mentioned in the Shoutcast section of the Quickstart guide. It would have limited usefulness in a Shoutcast application, and I don’t think it would ever be required.

Richard

Also, IPhone has specific configuration (and encoding) requirements. So testing on a rtsp device or player does not ensure that IPhone will work. See the guides, you have to add the “cupertinostreamingpacketizer” to the /Streams /LiveStreamPacketizers

There is a service you can use to virtual test different mobile devices:

https://www.perfectomobile.com/

Richard

Seems like the right steps, and I tested 554 on your site, which seems to be open, and you are using 1935 in your web page test anyway.

But you are doing something wrong, because I tested your shoutcast stream with a Wowza shoutcast application, and with a live app with .stream file

My first test is with the Wowza shoutcast example. Then I created a .stream file and tested with VLC version 1.05 (not 1.1). It works either way for me. But yours doesn’t work any of those ways.

Make sure the Application.xml is here:

/conf/live/Application.xml

Richard

You’re doing okay, keep testing, see what works.

Richard

Answered here:

https://www.wowza.com/forums/showthread.php?p=50341&posted=1#post50341

Richard

This is what I see in my logs when I try to play that “Shoutcast” url:

ShoutCastDecoder.checkHeader[http://cheese.wavestreamer.com:3639]: ICY response: ICY 401 Service Unavailable

This is a shoutcast url I know works, try it out:

http://216.59.4.130:8024

Richard

Does it work in Flash, use Wowza Shoutcast player:

Server: rtmp://[wowsa-address]:1935/shoutcast

URL: radiostation.stream

Make sure radiostation.stream is not radiostation.stream.txt, and make sure the contents is plain text

Check the Wowza logs for a clue.

Make sure the Application.xml StreamType is “shoutcast”, and that is located below conf:

/conf/shoutcast/Application.xml

(I am assuming application name is shoutcast, but it can be anything, so substitute actual above)

Richard

Great, glad it’s working.

To your quesiton, you can use Stream Manager to start the stream:

https://www.wowza.com/docs/how-to-use-stream-manager-in-wowza-media-server-3

In that case you can change the StreamType back to “live” annd use StreamManager to start radiostation.stream on your application with MediaCaster type “shoutcast”. You have to start the stream this if you want to playback in iOS and it is best to make the StreamType “live”

Richard

Well, you will find that is not working in iOS when all Flash players are closed. Review the Shoutcast tutorial, the “All Players” section: Use StreamType “live” and StreamManager to start the shoutcast stream for iOS playback.

https://www.wowza.com/docs/how-to-re-stream-audio-from-shoutcast-icecast

Richard

You have to start the stream in StreamManager, see the tutorial for all the steps.

Richard

Hi,

you provide httpstream, how can i use it inside netstream with actionscript 2, i dont want to use rtmp connection.

bizkit1 do you know if this is happening on certain Nokia phones only or on all symbian devices? I think the support for rtsp is the same on all of them with RealPlayer.

hi guyz, i have a problem with the rtsp for mobile players

i testet the tutorial above and it works fine on the iphone but when i try with a nokia (symbian soft) i get disconnected and wowza says the following:

INFO rtsp connect 1012082662 -

{AACFrame: size: 0, rate:22050, channels:1, samples:1024, errorBitsAbsent:true,

profileObjectType:2}:13 88

INFO rtsp describe 1012082662 -

INFO stream create - -

INFO stream play radiostation.stream -

INFO server comment - RTPUDPTransport.bind: 0.0.0.0/0.0.0.0:6972

INFO server comment - RTPUDPTransport.bind: 0.0.0.0/0.0.0.0:6973

INFO rtsp play 1012082662 -

INFO server comment - RTPUDPTransport.unbind: 0.0.0.0/0.0.0.0:6972

INFO server comment - RTPUDPTransport.unbind: 0.0.0.0/0.0.0.0:6973

INFO stream unpublish radiostation.stream -

INFO stream destroy radiostation.stream -

INFO server comment - UDPTransport.firstPacket: 0.0.0.0/0.0.0.0:6973

INFO rtsp disconnect 1012082662 -

INFO stream destroy radiostation.stream -

INFO cupertino disconnect 1457034667 -

INFO stream stop radiostation.stream -

INFO stream destroy radiostation.stream -

INFO cupertino disconnect 610162564 -

thanx in advance!

This whole thread seems to have sent me in circles round to the beginning again!

I have set up my application (aactest in this case instead of live - its in use)

I have set the config for this app to the following:

<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</StreamType>
			<StorageDir>${com.wowza.wms.context.VHostConfigHome}/content</StorageDir>
			<KeyDir>${com.wowza.wms.context.VHostConfigHome}/keys</KeyDir>
			<!-- LiveStreamPacketizers (separate with commas): cupertinostreamingpacketizer, smoothstreamingpacketizer, cupertinostreamingrepeater, smoothstreamingrepeater -->
			<LiveStreamPacketizers>cupertinostreamingpacketizer,smoothstreamingpacketizer</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 -->
		<HTTPStreamers>cupertinostreaming,smoothstreaming</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>
			<!-- 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>

I have then set up the radiostation.stream as suggested and inside that is the direct URL of the ICY stream (AAC+) that I wish to play:

http://sharpflow.sharp-stream.com:8000/kiss100.aac

In addition to this I’ve gone into the stream manager (already set up for other uses) and started the “aactest” application with the stream type of shoutcast and the stream as radiostation.stream.

I have set up a webpage with a simple link to test android - HTC Magic - http://dev.sharp-stream.com/android.html which looks at:

rtsp://wowza01.sharp-stream.com/aactest/radiostation.stream

I can see the following happening in the logs:

#Version: 1.0
#Start-Date: 2010-07-28 10:49:00 BST
#Software: Wowza Media Server 2.1.0 build24349
#Date: 2010-07-28
#Fields: x-severity	x-category	x-event	date	time	c-client-id	c-ip	c-port	cs-bytes	sc-bytes	x-duration	x-sname	x-stream-id	sc-stream-bytes	cs-stream-bytes	x-file-size	x-file-length	x-ctx	x-comment
INFO	application	app-start	2010-07-28	10:49:00	-	-	-	-	-	94.037	-	-	-	-	-	-	_definst_	aactest/_definst_
INFO	rtsp	connect	2010-07-28	10:49:00	407260152	90.215.119.217	-	0	0	94.037	-	-	-	-	-	-	407260152	-
INFO	stream	create	2010-07-28	10:49:00	407260152	90.215.119.217	-	0	0	0.0	radiostation.stream	1	0	0	-	-	-	-
INFO	stream	unpublish	2010-07-28	10:49:00	407260152	90.215.119.217	-	0	0	0.0	radiostation.stream	1	0	0	-	-	-	-
INFO	stream	destroy	2010-07-28	10:49:00	407260152	90.215.119.217	-	0	0	0.0	radiostation.stream	1	0	0	-	-	-	-
INFO	rtsp	disconnect	2010-07-28	10:49:00	407260152	90.215.119.217	-	0	0	94.052	-	-	-	-	-	-	407260152	-
INFO	rtsp	connect	2010-07-28	10:50:39	1165593098	90.215.119.217	-	0	0	193.237	-	-	-	-	-	-	1165593098	-
INFO	stream	create	2010-07-28	10:50:39	1165593098	90.215.119.217	-	0	0	0.0	radiostation.stream	3	0	0	-	-	-	-
INFO	rtsp	describe	2010-07-28	10:50:39	1165593098	90.215.119.217	-	0	0	99.231	radiostation.stream	-	-	-	-	-	1165593098	-
INFO	rtsp	disconnect	2010-07-28	10:50:40	1165593098	90.215.119.217	-	0	0	194.407	-	-	-	-	-	-	1165593098	-
INFO	rtsp	connect	2010-07-28	10:50:46	1236693473	90.215.119.217	-	0	0	200.507	-	-	-	-	-	-	1236693473	-
INFO	stream	create	2010-07-28	10:50:46	1236693473	90.215.119.217	-	0	0	0.0	radiostation.stream	4	0	0	-	-	-	-
INFO	rtsp	describe	2010-07-28	10:50:46	1236693473	90.215.119.217	-	0	0	106.501	radiostation.stream	-	-	-	-	-	1236693473	-
INFO	rtsp	disconnect	2010-07-28	10:50:48	1236693473	90.215.119.217	-	0	0	201.77	-	-	-	-	-	-	1236693473	-
INFO	rtsp	connect	2010-07-28	10:51:12	1569481994	90.215.119.217	-	0	0	226.512	-	-	-	-	-	-	1569481994	-
INFO	stream	create	2010-07-28	10:51:12	1569481994	90.215.119.217	-	0	0	0.0	radiostation.stream	5	0	0	-	-	-	-
INFO	rtsp	describe	2010-07-28	10:51:12	1569481994	90.215.119.217	-	0	0	132.506	radiostation.stream	-	-	-	-	-	1569481994	-
INFO	rtsp	disconnect	2010-07-28	10:51:13	1569481994	90.215.119.217	-	0	0	226.652	-	-	-	-	-	-	1569481994	-

But no stream on the handset.

Can I confirm that:

The application config type should be - LIVE

The Stream Manager start type should be - Shoutcast

Any help is much appreciated.

Kind Regards

Maaad999 :slight_smile:

Ok

After some playing about I’ve got it working on Flash and iPhone/Pad - does help when radiostation.stream is in the content and not config folder :o

However - its not playing ball on Android HTC Magic - any suggestions?

Ok

I now have android working - however it has to be on the providers network and not Wifi and using port 554 not 1935.

suggests my company router isnt allowing 554 inbound but also suggest the handset doesnt like 1935.

Ok - now this works all good and well i have a couple of questions as to how I can expand on this.

Currently I use the alias map system for all our flash streams which essentially does the same thing as the radiostation.stream file.

Can I use this method for live streams to Droid and iPhone ect providing I always start the stream using the streammanager on boot into the correct shoutcast method?

Hello Charlie,

In the tutorial above on page 1 it mentions:

Click the [start-receiving-stream] link just below the rtplive application folder.

My question is should the application that I started in stream manager be rtplive or shoutcast? I have it working with by clicking [start-receiving-stream] below shoutcast started in stream manager. However, I can’t get it to work starting the rtplive. If I do need to click [start-receiving-stream] rtplive in stream manager can you explain why?

Thanks,

Derrick

Thanks Richard

Hi all, i was following tutorial but for some reason I can not ger Soutcast to be “visible”. Any help?

I tried both Flash way and other players way. Lets assume the other players as i guess it is always on type of solution so: I created content file radiostation.stream with following content http://cheese.wavestreamer.com:3639 then I go to StreamManager and create new strem radiostation.stream with stream type shoutcast.

Thne i use VLC to open network stream: rtsp://myserver.com:1935/soutcas/radiostation.stream and im getting error saying can not play file not sound. Logs show connection open session cteted session unpublished and destroyed.

Any ideas what I have done wrong and how can i fix that? Thank you!

tnx for reply

I tried using http://216.59.4.130:8024 in radiostation.stream an reseting the stream in web interface but it did not help me :frowning: i still can not hear my stream via VLC :frowning:

I will post my configs and logs here