July 16, 2014

Pull RTMP for ABR HLS transmuxing by Nimble Streamer

Nimble Streamer currently supports several methods of live streaming via HLS. It may be HLS re-streaming edge as well as a origin server for ABR HLS. Being an HLS origin, Nimble may accept MPEG-TS stream from multicast/unicast UDP transmission and may take published RTMP multi-bitrate stream.

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.

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.



Extended usage


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 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