September 5, 2014

Transmuxing Icecast/Shoutcast to HLS/RTMP/MPEG-DASH

Nimble Streamer has wide audio streaming feature set.

This includes various Icecast and SHOUTcast related features.

You can give any supported protocol as an input: Icecast and SHOUTcastRTMPRTSP and MPEG-TS.
These streams will be transmuxed using the same engine and they will be given as HLS, MPEG-DASH, RTMP, RTSP, MPEG-TS and Icecast.
This means Nimble can work both as a transmuxer for Icecast to HLS and as a re-streamer for Icecast. Notice that the result Icecast stream has same metadata tags as original stream.

Both MP3 and AAC codecs are supported.




To use it in your scenarios, follow these simple steps.



1. Install Nimble Streamer


Follow this easy to use instruction to set up Nimble Streamer instance.

2. Add incoming stream


Now you need to describe how Nimble will take data from designated source.

Go to Nimble Streamer / Live streams settings menu to see the UI for live streaming setup.

You'll first see Global tab, it has settings applicable to entire selected server. Choose the protocols which you'd like to produce as output. You can see HLS, RTMP, Icecast and MPEG-DASH on the screenshot below.


You may also define application-specific setup by clicking on Applications tab and adding per-app settings.

Now click on Live pull settings tag.


Here you need to click on Add Icecast URL to see the dialog shown below.


Here you can put stream address into URL field. This is full address of source stream. You may also use m3u Icecast playlists - in this case all URLs will be added as separate incoming streams.

The Fallback URL(s) section allows entering multiple sources which will be used in case the primary stream is down. You can read this article for details.

Output application and Output stream defines what URL of the stream you will get as output.

Idle time and Dynamic stream name allow performing pull by request when the stream is not being taken from the origin server unless some customer is requesting this stream from Nimble to listen. You can read this article for more details.

You may apply this setting to any number of existing streams by choosing the right server instances.

Clicking Save will apply all settings.



WMSPanel also provides multiple edit capabilities. You may edit all sources as a text to be able to do things like:

  • adding big amount of streams;
  • making backup and restore of settings;
  • transition of settings between servers.

Just click on Multiple edit button to use the dialog to enter multiple URLs using existing syntax to fill in.

3. Use outgoing streams


Now go to Nimble Streamer -> Live streams menu to see your server and number of their streams.


Clicking on Incoming streams will show a page showing the recently defined incoming stream.


Now in the stream is active, you can go to Outgoing streams to see what is going out.



Here you can see each stream basic parameters of audio stream and its bandwidth. To use the outgoing stream, click on question mark icon to show URL for Player dialog.



If you select URLs for the protocols which you defined in global or application-wide settings. If your server has several IP addresses, there will be more URLs to use.

Icecast publishing


If you need to process published Icecast from Ezstream, IceS or any other tool, you can do that via Nimble as well. Read this article for setup details.

Further audio streaming options


With Icecast/SHOUTcast streams being processed in via single transmuxing engine you may also use them in various scenarios like these mentioned below.



Let us know if you have any suggestions or questions regarding audio streaming, we're opened for discussions.

Related documentation


No comments:

Post a Comment