Setting up Nimble Streamer with a CDN

Before you start this tutorial, verify that you have installed Nimble Streamer correctly on your server and are able to access it from your client's panel located at wmspanel.com. For more information on how to install Nimble Streamer, visit.

For this tutorial, Nimble Streamer is installed on Debian OS.



1. After you have installed Nimble on your server you need to edit the Nimble configuration. This should be located in: /etc/nimble/nimble.conf

Open it up with your favorite text editor such as Vim or Nano. 

At the top of the configuration change port = 8081 to port = 80

Scroll to the bottom of the configuration and paste in the following settings:



access_control_allow_origin = *
playlist_cache_control = max-age=1
chunk_cache_control = max-age=120
pass_headers = false
cdn_origin = true
restrict_session_ip = false



Afterwards, you need to restart the Nimble server. You can do this by issuing the command: 

 service nimble restart

2. After you finished the Nimble Streamer configuration, log in to your Nimble Streamer account on the website.

Navigate to Nimble Streamer > HTTP Origin Applications > Add origin application

Nimble - settings

Type the application origin. It's the first part of the path of your m3u8 manifest. For instance, if your HLS manifest is located here:

 http://domain.com/hls/stream.m3u8

You enter "hls" into the Application name.

Nimble - Application name

As a result of this setting, the output streams won't have sessions information and Nimble will not force clients to have it. This allows the CDN to accept the HLS stream without any additional information such as query strings, apart from the custom settings which you set in Step 1.

3. In this step add the stream you want to restream via HLS. Click onto Servers > The server you want to create a HLS stream on > Edit Nimble Routes 



I.

Enter your Origin stream URL into “Where incoming requests must be redirected (origin)” enter your existing HLS stream link e.g. http://domain.com/hls/stream.m3u8) in the path, do not include the m3u8 manifest.



Add it in the following format:



domain.com: 80
path: /hls/



In the field above “Domain (optional)” input your domain (subdomain) pointing to your Nimble server via the A record in your domain’s DNS. 
For example "nimble.domain.com"

II.

As Path, input the identical path as for the field below, in this case: /hls/

III.

You can also set “Playlists caching interval” to 1 second

Nimble - Adding stream

4. Test if Nimble is restreaming your HLS stream correctly by playing the stream in VLC. If you installed VLC, click on File > Open Network > Paste in the restreamed HLS stream link into the URL field.

5. If the stream is playing correctly, proceed to the CDN setup.

6. Log into your CDN77 account. Click on Add a new CDN Resouce. Make sure that a server Origin is checked, instead of the CDN Storage. Into the Origin server, enter the domain (subdomain) pointing to your Nimble Streamer server. Select HTTP for the Origin server. Give a name for your CDN Resource and click save.

7. You have now a CDN Resource URL e.g. 123456789.rsc.cdn77.org, this is the new URL you can play the stream from Nimble Streamer via CDN.



Nimble Streamer HLS: http://nimble.domain.com/hls/stream.m3u8



CDN77 Stream Playback URL: https://123456789.rsc.cdn77.org/hls/stream.m3u8