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.

Take a look at this tutorial showing the setup process and read the rest of the article for more details.

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 all protocols supported by Nimble Streamer on the screenshot below.

You may see HLS having 3 options: HLS, HLS (MPEGTS) and HLS (fMP4), you can select one option at a time.

If your media is audio-only, Nimble Streamer produces audio-only HLS with significantly reduced size. However some players like VLC or old STBs require MPEG-TS chunks. This mode is created specifically for that scenario. So if you have VLC as your major player, use this option.

Application-specific setup may also be defined by clicking on Applications tab and adding per-app settings. Specifically if you want some users consume regular audio-only HLS and have some users with incompatible players, you may separate app for them and use HLS (MPEGTS) option.

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.

Notice that if you use VLC for playback, your stream may have glitches when using regular audio-only HLS. As described above, you should use HLS (MPEGTS) option for your HLS streams in this case.

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.

Online radio snapshot
 page shows how to use Nimble Streamer and other Softvelum products for building audio delivery.

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

If you face any specific issue or want to ask some question to our team,

This will give much faster and precise response.
Thank you.

Note: Only a member of this blog may post a comment.