July 16, 2014

Pull RTMP for ABR HLS transmuxing by Nimble Streamer

Nimble Streamer currently supports several methods of live streaming

Besides accepting published RTMP stream, Nimble can also actively take media from RTMP source, or simply "pull the RTMP stream". As an output, Nimble provides both single-bitrate and multiple-bitrate ABR HLS.

Let's see the set up process. It's easily done via WMSPanel web interface.

First you may take a look at video tutorial about RTMP setup.


It shows basic scenarios with RTMP processing.

1. Install Nimble Streamer


Follow this easy to use instruction to install and register Nimble Streamer instance in WMSPanel for further setup.

2. Define RTMP settings


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

Go to Nimble Streamer / Live streams settings menu. Global tab has service-wise default Chunk duration for all outgoing HLS streams. It also has 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.



For RTMP pull settings you may need and app name and individual chunk duration.

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.

Additionally you may specify fallback URLs which will be picked up if your primary stream goes down. This will allow improve the robustness of your streaming infrastructure as Nimble will start using fallback streams immediately so your viewers won't see the difference. 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.



3. Viewing 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 HLS streams transmuxed from RTMP.

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. To use the outgoing stream, click on URL for Player to see dialog showing several players to view the stream, the URLs to insert into client's players and sample code for several popular players..


4. Adaptive bitrate streams


If you have several streaming sources you can combine them into ABR streams.
Read this article for more details regarding ABR setup and usage.



Even more


The rtmp_instant_pull_remove parameter allows immediately disconnect from pulled RTMP source indicates that stream is stopped/not available anymore.

RTMP to HLS transmuxing is part of live streaming feature set and may be used as the baseline for many combinations of streaming infrastructures.

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.

You may set RTMP republishing via Nimble Streamer so you can pull RTMP and then push it further into your Nimble-based network.

If you'd like to use RTMP for playback in Nimble, use RTMP playback streaming feature set.

You may also consider using RTMP streaming API to control this behavior remotely.


RTMP may be recorded for further playback via HLS and MPEG-DASH using the DVR feature set. Read this article for setup details.

Related documentation


Live Streaming features of Nimble StreamerLive Transcoder for Nimble StreamerRTMP feature setRTMP republishing via Nimble, RTMP pulled streams fallbackPay-per-view for Nimble StreamerTransmuxing RTMP to Icecast and Shoutcast, Transmuxing Icecast to HLS and MPEG2TS, Nimble Streamer API referenceWMSPanel API reference,

No comments:

Post a Comment

If you face any specific issue or want to ask some question to our team,
PLEASE USE OUR HELPDESK

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

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