October 27, 2014

RTMP, RTSP and Icecast pulled streams fallback

RTMP to HLS transmuxing is one of the popular use cases of Nimble Streamer as well as other protocols transmuxing. It allows producing HLS with high efficiency and low resources consumption which allows building robust streaming solutions. However, Nimble is just a link in delivery chain and other elements like source transcoder or origin server may go down. This is why a robust live streaming network needs to have multiple media sources. And Nimble Streamer needs to handle all fallback sources and still produce output streams with no interruptions.

This is why Nimble Streamer team introduces RTMP, RTSP and Icecast pull sources fallback support.

When you define RTMP pull streams, you just specify 2 or more sources of the same pulled stream and if the first stream goes down, other stream will be picked up for processing.

To set this up you need to follow basic setup steps described in Pull RTMP to HLS transmuxing article. The main enhancement is multiple edit boxes in Live pull settings for adding new pull URL.

Being in the list of pulled streams, you can click on Add URL and see the following dialog.

Here the URL is a mandatory field while Fallback URLs can be added one by one, regardless of their number. Saving the settings will launch the RTMP to HLS processing. Also you can use advanced RTMP pull settings to specify incoming RTMP streams. Please read the Processing RTMP and RTSP pull streams per request article for details.

WMSPanel also provides multiple edit capabilities. You may edit RTMP pull sources as a text setting to 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 as shown below. Here, a "dr_urls" is a field containing fallback links mentioned above. "url", "application" and "stream" are the fields available in the "Add URLs" dialog.

With this entire failover feature you can easily handle RTMP disaster recovery in case of any origin source availability problems.
You may also consider using RTMP streaming API to control this behavior remotely.

Take a look at this tutorial showing the setup process for Icecast as an example.

More capabilities 

Also take a look at RTMP setup in Nimble Streamer video tutorial to learn more about basic RTMP scenarios.

If you need to secure your RTMP streams, you can also use SSL for RTMP transmission.
When transmuxing incoming RTMP streams, you can use Nimble Advertizer for server-side ads insertion. It provides a framework for inserting pre-roll and mid-roll ads into live streams for further output via RTMP, SLDP and Icecast with custom business logic and per-user ads.
Visit Advertizer web page to find out more.

If you need to change content parameters, like change the bitrate, use our Live Transcoder for Nimble Streamer to transform. It has high performance and low resource usage.

Please also check other live streaming, audio streaming and streaming infrastructure features available in Nimble Streamer and let us know if you face any questions or issues.

Related documentation

Live Streaming features in NimbleLive Transcoder for Nimble StreamerRTMP feature setPull RTMP to HLS transmuxingRTMP republishing via Nimble, Audio streaming features


  1. If the failover link is a recorded video, is there a loopback function to play the video repeatedly till we receive the live feed back?

    1. Nimble does not support pulling VOD content as a failover, but it is possible to use VOD file to produce fallback stream if Transcoder is avaiilable as it described in https://blog.wmspanel.com/2017/04/streams-failover-hot-swap-live-transcoder.html article.

  2. If the Primary URL become online, does nimble switch to primary stream from the failover source?. failover is working if the primary goes down. But it's not switching back to the primary source if it become online

    1. That's true, it doesn't come back itself.
      You may want to use failover feature set in our transcoder to do that more accurately via published streams:

    2. Are you planning to add switch back to primary function on next releases?

    3. We don't have nearby plans for that yet unfortunately.


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.