March 10, 2015

Using Nimble Streamer as HTTP streaming origin source

Nimble Streamer is used for a variety of streaming scenarios which includes all flavors of live streaming and video-on-demand. On the popular use cases is when Nimble is used as an origin for several edges - which may also be powered by Nimble.

This works pretty well but some scenarios use Nimble Streamer as origin for further usage in content delivery networks which are very picky for the streams URLs and format. Even though Nimble is fully compliant with used protocols' specs, it uses session IDs in URL for identifying viewer for precise statistics calculation. Some CDNs require not to have any additional streaming parameters so our team made adjustments to allow customers to use Nimble without additional session information.

The general steps to use this behavior, are those:

  1. Set up streaming behavior for Nimble for HTTP streaming (HLS, DASH, Icecast etc.).
  2. Specify what origin applications will not use sessions for output streams.

As a result, the output streams won't have sessions information and Nimble will not force a client to have it. So please beware as follows.

WMSPanel application statistics will include only bandwidth and application-aggregated traffic.No connections count or duration will be calculated.

Let's go step by step to set up this behavior.

Set up streaming behavior 


We assume you've already installed Nimble Streamer. So now you need to set up Nimble streaming behavior, i.e. describe source and output for your media. Here are some of the examples of what you may use:

All these scenarios will define output application as one of results. Traditionally, the application name is something which stands at the beginning of URL. E.g. in http://127.0.0.1:8081/live-origin/stream/playlist.m3u8 , "live-origin" is the name of an app.

Specify origin application


Now you may use existing setup for further origin behavior setup.

Go to Nimble Streamer -> HTTP origin applications menu. You will see blank list of apps.

Empty origin apps list.
Clicking on Add origin application, you will see a dialog as shown below.

Setting up HTTP origin application.

It allows specifying the name of the application which will have no additional information. You may apply it to multiple servers by clicking on servers' names. When the setup is ready, click on Save to apply the setting to selected servers.

The origin apps list will be populated with a new setting.

New settings are applied.
Now, if you have a stream http://127.0.0.1:8081/live-origin/stream/playlist.m3u8 , its URL will not include session information from this moment.

Server-level setting


You may specify this setting on a server level to apply for all applications at once.

Use http_origin parameter in nimble.conf to define this behavior. Don't forget to re-start Nimble Streamer after applying new parameter


Single input, multiple output


Nimble allows producing multiple streams applications from same source, so for any input stream you may create separate applications for different tasks. E.g. one for end-users streaming, and another one for using as origin. WMSPanel web UI allows doing these tasks easily.


This feature is widely used for CDN-friendly streaming scenarios.


If your destination allows accepting RTMP, you may also consider using RTMP re-publishing feature set which would make Nimble to publish RTMP whenever a stream is available.

If you run into any questions, you can contact us any time, we're ready to help.

Related documentation


Nimble StreamerNimble live streaming, Nimble VOD streamingRTMP re-publishing

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.