Icecast remain a very popular protocol for streaming audio over the Internet. Numerous online radio stations use this way to deliver their content due to its simplicity and low overhead.
Nimble Streamer allows transmuxing any RTMP stream into Icecast stream. You may both pull existing RTMP or get published RTMP and produce stream with audio/mpeg MIME type output. Check also Icecast to HLS/MPEG2TS transmuxing and Icecast re-streaming.
To produce Icecast stream you need to follow these simple steps.
Follow this easy to use instruction to set up Nimble Streamer instance.
Now you need to describe how Nimble will take data from available RTMP source.
Go to Nimble Streamer / Live streams settings menu.
Global tab has service-wise settings.
Chunk duration sets the default duration of chunks for all outgoing streams.
Protocols field allow defining which protocols will be used for providing output streams. If you need Icecast use "Icecast" checkbox. You may have several types of simultaneous streams like HLS and Icecast or Icecast and MPEG2TS.
If you use published RTMP for further transmuxing, you may define Push login and password for applied to all incoming RTMP publishing by default.
These settings can be overlapped by individual applications settings. Click on Applications tab to see list of individual apps.
Click on Add application settings to see a dialog for adding new app setting.
If you pull RTMP streams for further transmuxing, the next tab you may need is Live pull settings. It allows defining live streams from multiple media sources.
Click Add RTMP URL to define new media source.
Here you need to enter URL of RTMP stream and then application and stream name which you'd like to use for outgoing HLS stream.
Once the incoming streams accepted by Nimble, you will see the outgoing stream available in Outgoing streams page. Click on Outgoing link or Outgoing section on the streaming scheme picture.
Here you can see result streams available for your viewers. You can see its basic parameters of video and audio stream as well as bandwidth and resolution. In case of audio stream it has less details. To use the outgoing stream, click on URL for Player to see dialog showing URLs to insert into client's player.
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.
That's it. You may use it now for streaming and use full variety of reporting features to know more about your audience and your streams' popularity and performance.If you select several protocols in application of server-wise settings, or if your server has several IP addresses, there will be more URLs to use.
Having same application my produce URL for several media type like:
If your Icecast streams have metadata and you want to use it effectively, please read Icecast metadata section here. If your RTMP has Icecast metadata in it, you can insert that metadata into your result Icecast streams, read this article for more details. You may also pass that metadata through Live Transcoder, as described in this article.
Quality
Qosifire quality monitoring service allows tracking the availability of Icecast streams and perform silence detection.
Example
Online radio snapshot page shows how to use Nimble Streamer and other Softvelum products for building audio delivery.
Nimble Streamer allows transmuxing any RTMP stream into Icecast stream. You may both pull existing RTMP or get published RTMP and produce stream with audio/mpeg MIME type output. Check also Icecast to HLS/MPEG2TS transmuxing and Icecast re-streaming.
This article also applies to other supported protocols like RTSP and MPEG-TS as Nimble has same transmuxing engine for all protocols.
To produce Icecast stream you need to follow these simple steps.
1. Install Nimble Streamer
Follow this easy to use instruction to set up Nimble Streamer instance.
2. Define RTMP settings
Now you need to describe how Nimble will take data from available RTMP source.
Go to Nimble Streamer / Live streams settings menu.
Global tab has service-wise settings.
Chunk duration sets the default duration of chunks for all outgoing streams.
Protocols field allow defining which protocols will be used for providing output streams. If you need Icecast use "Icecast" checkbox. You may have several types of simultaneous streams like HLS and Icecast or Icecast and MPEG2TS.
If you use published RTMP for further transmuxing, you may define Push login and password for applied to all incoming RTMP publishing by default.
These settings can be overlapped by individual applications settings. Click on Applications tab to see list of individual apps.
Click Add RTMP URL to define new media source.
3. Use outgoing streams
Once the incoming streams accepted by Nimble, you will see the outgoing stream available in Outgoing streams page. Click on Outgoing link or Outgoing section on the streaming scheme picture.
List of ourgoing streams transmuxed from incoming RTMP streams. |
Here you can see result streams available for your viewers. You can see its basic parameters of video and audio stream as well as bandwidth and resolution. In case of audio stream it has less details. To use the outgoing stream, click on URL for Player to see dialog showing URLs to insert into client's player.
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.
That's it. You may use it now for streaming and use full variety of reporting features to know more about your audience and your streams' popularity and performance.If you select several protocols in application of server-wise settings, or if your server has several IP addresses, there will be more URLs to use.
Having same application my produce URL for several media type like:
- http://192.168.0.4:8081/sample/stream/icecast.audio - for Icecast
- http://192.168.0.4:8081/sample/stream/playlist.m3u8 - for HLS output
Metadata
If your Icecast streams have metadata and you want to use it effectively, please read Icecast metadata section here. If your RTMP has Icecast metadata in it, you can insert that metadata into your result Icecast streams, read this article for more details. You may also pass that metadata through Live Transcoder, as described in this article.
Also, take a look at video tutorial about RTMP setup.
It shows basic scenarios with RTMP processing.
You may also consider using RTMP streaming API and Icecast control API to control this behavior remotely. RTMP republishing is also available for scenarios of multiple edge servers live delivery.
You may also apply full featured Paywall framework for your audio streams.Quality
Qosifire quality monitoring service allows tracking the availability of Icecast streams and perform silence detection.
Example
Online radio snapshot page shows how to use Nimble Streamer and other Softvelum products for building audio delivery.