[null, null, {"document_url": "https://blog.wmspanel.com/2014/03/adaptive-bitrate-hls-live-mpeg.html", "unformatted_src": "//3.bp.blogspot.com/-ewcqtbf6oTU/UvtPyFZlkEI/AAAAAAAABkE/RS0HO8_IqZ8/s1600/udp_mpeg_ts_multicast_to_hls.png", "src": "http://3.bp.blogspot.com/-ewcqtbf6oTU/UvtPyFZlkEI/AAAAAAAABkE/RS0HO8_IqZ8/s1600/udp_mpeg_ts_multicast_to_hls.png", "formatted_filename": "udp mpeg ts multicast to hls", "rendered_width": 320, "rendered_height": 168}, null, {"document_url": "https://blog.wmspanel.com/2014/03/adaptive-bitrate-hls-live-mpeg.html", "unformatted_src": "//1.bp.blogspot.com/-b1aU8ux0B8o/Uy_o13TSIhI/AAAAAAAABmE/k9we1u9wbTE/s1600/abr.png", "src": "http://1.bp.blogspot.com/-b1aU8ux0B8o/Uy_o13TSIhI/AAAAAAAABmE/k9we1u9wbTE/s1600/abr.png", "formatted_filename": "abr", "rendered_width": 640, "rendered_height": 137}, null, {"document_url": "https://blog.wmspanel.com/2014/03/adaptive-bitrate-hls-live-mpeg.html", "unformatted_src": "//3.bp.blogspot.com/-0j1dPACKUyQ/Uy_9k_0gtkI/AAAAAAAABmU/oyHcZxVQSak/s1600/1.png", "src": "http://3.bp.blogspot.com/-0j1dPACKUyQ/Uy_9k_0gtkI/AAAAAAAABmU/oyHcZxVQSak/s1600/1.png", "rendered_width": 320, "rendered_height": 112}, null, null, null, null, null, null, null, null, null, null, null, null]

Adaptive bitrate HLS from MPEG-TS live stream

Nimble Streamer is making a significant step towards advanced HLS coverage. In addition to recently introduced UDP MPEG-TS to HLS transmuxing, today we release adaptive bitrate HTTP Live Streaming generated from UDP MPEG-TS live stream.

Update: New article about MPEG-TS transmuxing to HLS, RTMP etc is available. Also, read general Nimble Streamer MPEG2TS feature set page. If you have a source of MPEG-TS stream transmitted via UDP and you want to generate fixed bitrate or adaptive bitrate HLS stream, your general use case would be as follows.

Pre-requisites: install Nimble Streamer and set up your UDP source to stream to Nimble Streamer server.

Nimble Streamer is getting the incoming stream and converting the UDP MPEG-TS stream into HLS chunks. These chunks are being sent to the player right after the request comes in. MPEG-TS source may disconnect and connect again, but the stream will resume producing chunks from the moment of incoming stream resume.

So you may provide origin streams via HLS protocol, both with fixed bitrate and with adaptive bitrate. This diagram visualizes the described workflow. The same workflow applies to transmuxing MPEG2TS over HTTP to HLS. Here's the step-by-step instruction for fixed bitrate and adaptive bitrate set up.

1. Set up incoming streams

Select Nimble Streamer / Live streams set up menu. You will see servers list to select the one which you'd like to have as a live origin server.

Clicking on server name you will go to designated server streaming details. Each page has a dynamic image of your set up process - you may see where you are at and what are next steps.

In the incoming streams page you'll see a list of streams, each having IP and port, with a number of programs in it.
The green color of each line means that the stream is active. Yellow means it's not online at the moment.

To set up incoming stream click on Add UDP stream. You will see a dialog asking for an IP and a port. Nimble Streamer will be listening to the specified port at the specified IP address and make actions according to further settings.

2. Set up outgoing streams

Now when the incoming stream is defined, you can create outgoing stream for your viewers.

Click on the main diagram at "Outgoing stream" blocks or click Outgoing link in top right corner of the page.

You see a list of created existing streams. Each has stream name, video/audio streams details and other options. To add new stream for viewer, click on "Add outgoing stream". You'll see the following dialog.

Here you need to specify:

As you see you may mix video stream with audio stream from different programs into single media stream.

Having the outgoing stream defined, you can click on URL for Player link to get full address of the resulting stream which you can insert into your player or application.

3. Set up adaptive bitrate streams

With the outgoing streams ready, you may go further and create HLS streams with adaptive bitrate support.
Click on ABR part of the diagram to see the list of multi bitrate streams.

Here you can see a list of ABR streams, each having the application and stream name for URL and a sub-list of outgoing streams which they are made of.

To create a new multi-bitrate adaptive stream you need to click on Add ABR stream. You'll see a dialog like this.

Here you need to specify

With that having been set up, you may click on URL for Player.

This URL can be used for further playback.

The ABR HLS streams definition is similar to producing ABR HLS from RTMP. Same easy to use interface and robust Nimble Streamer behavior.


The 3 mentioned steps allow processing any multicast or unicast UDP MPEG-TS stream into HLS adaptive bitrate stream. So your Nimble Steamer will be working as a streaming origin.

In addition to origin server set up you may also install more Nimble Streamers as HLS re-streaming edge servers to offload this Nimble origin and make your network more robust and scalable. You may also find useful features like hotlinking protection with domain lock and geo-location blocking.

Other HLS-related features to come soon, join our social networks for updates: Facebook, Twitter, Google+


Nimble HTTP Streamer, Transmuxing published RTMP to ABR HLS, Pull RTMP to transmux into HLS, Transmuxing MPEG2TS over HTTP to HLS, MP4 transmuxing to HLS VOD streaming, Create ABR VOD HLS with SMIL, HLS re-streaming set up, Dispersa streams monitoring, WMSPanel YouTube channel, Using Nimble in Rocksoft Cloud Media Solution
Автор: Aquary на 22:19 Ярлыки: ABR, adaptive, bitrate, live, MPEG, MPEG-TS, multicast, Nimble Streamer, stream, UDP, UDP-to-HTTP, unicast, WMSPanel


