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. Define HLS streams with single and adaptive bitrates

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 URLs to insert into client's player.

URL for HLS transmuxed from RTMP.
If you have several streaming sources you can combine them into HLS ABR streams. Click on ABR submenu or Adaptive stream section on streaming scheme picture.

HLS ABR management.

Choose Adaptive stream page link and click on Add ABR stream from RTMP sources. To see te dialog below.

Define ABR HLS stream from single-bitrate HLS streams.

Here you will be able to specify:

  • ABR application and stream which your viewers will use for accessing ABR stream
  • Source applications and streams which will be used for streams inside of ABR playlist. You can add several sources by clicking on corresponding link.
  • Stream sorting method in playlist:
    • Manual - as defined in list;
    • By bandwidth - descending;
    • By bandwidth - ascending.
  • Servers to apply ABR settings to - selecting multiple servers allows creating new stream on any number of Nimble Streamer instances.
You may combine any streams into any number of ABR streams.

List of available ABR HLS streams.

Each ABR stream has URL for Player link which shows URL to be used by your viewers.

URL sample for HLS ABR.

That's it. Just copy and paste this link into your video player to start the playback.
Read more about ABR HLS 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 StreamerEasy ABR HLS setup from RTMPTransmuxing RTMP to Icecast and Shoutcast, Transmuxing Icecast to HLS and MPEG2TS, Nimble Streamer API referenceWMSPanel API reference,

No comments:

Post a Comment