June 25, 2015

CDN-friendly streaming via Nimble Streamer

Our customers build their own streaming infrastructures using Nimble Streamer in order to have low cost and reliable delivery networks. However, sometimes they need to reach audience which is located in the regions where they don't have their coverage yet.

This is where they start using 3rdparty CDNs. Nimble may serve as an origin for these networks and provide streams for further re-streaming. Some CDNs may require streams URLs without any variable parts, such as sessions identifiers. Nimble uses "nimblesessionid" parameter to track viewers' sessions but it allows skipping that.

Let's see how Nimble Streamer helps handling it.

Create alias

WMSPanel allows creating aliases for your Nimble streaming applications. This provides capabilities to define different levels of security for same streams and also to have flexible reporting for your end-users.

So you need to create an alias for each HTTP stream which you'd like to provide to your CDN. Please follow streaming alias creation article to see how it's done. It has proper screenshots and examples.

Set up HTTP origin

Now when you have an alias, set it up as HTTP origin. It means that you will inform Nimble that some specific outgoing streams applications and even entire server HTTP output will be handled without session information.
Read this article for details and screenshots of the setup.

Now, after passing described 2 steps, CDN won't get sessions info when obtaining the stream and will handle it properly.

You may also secure this new HTTP origin application by defining IP ranges where it will be allowed or forbidden. E.g. your CDN will be able to obtain streams while other viewers will not. Check geo-location restriction capabilities of Nimble Streamer in our Paywall feature set.

If you are able to deliver RTMP to your CDN, you can use RTMP re-publishing capabilities.
If you'd like to create ABR streams for CDN delivery, take a look at Live Transcoder for Nimble Streamer which is capable of various content transformation features.

Related documentation


  1. Please is it possible to route HLS stream (not RMTP) toward a 'push' destination ( an URL where one sends PUT requests)as is required by some CDNs (Akamai among others). I know it is possible using wowza. I was wondering if it is possible using Nimble, too. It's perhaps a matter of a cascaded "http GET from Nimble --> http PUT to CDN URL" task?

    1. Thanks for sharing the idea. We have it in our wishlist but it doesn't have any due dates yet.

  2. Also pushing HLS into Akamai requires the pusher + encoder pair to go through a qualification process. Akamai takes care to only support vendors that have successfully passed their compliance tests for reliability and resiliance.

  3. Hi,
    this article not about publishing hls into Akamai. It describes hls pull from Nimble


If you face any specific issue or want to ask some question to our team,

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

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