Pages

February 10, 2019

RTMPS: SSL support for RTMP in Nimble Streamer

Today RTMP still remains the de-facto industry standard for publishing of live streams from encoders and their delivery between nodes over the Internet. Nimble Streamer has full support for this protocol in all 4 delivery modes - publish and get published stream, provide playback and pull streams.

Having a constant need for security for data transmission, our customers requested more security for RTMP delivery. So now Nimble Streamer supports RTMPS which is RTMP delivery over SSL in all 4 modes.

If you're not familiar with RTMP usage, please refer to RTMP feature set digest page.
If you already have some experience with Nimble Streamer setup, please follow the steps below to make adjustments to your current setup and use SSL for RTMP.

Set up SSL certificate


This step is required if your Nimble Streamer server will be providing RTMPS playback.

You need to set up SSL certificates via nimble.conf. Read this article to see what steps need to be followed. Notice that there is no need to set up ssl_port parameter for RTMPS as it's required only for HTTP-based protocols.

Receiving RTMPS


Setup is done the same way as it's done for un-encrypted RTMP: you need to add global or application setting and then define interfaces to receive stream.
The only difference is the interface setup - you need to check Use SSL parameter for interface via UI.


If you need to use both RTMP and RTMPS, you need to add 2 ports, one of them with SSL checkbox being checked. The rest of the setup is the same as for un-encrypted RTMP, read this article as example.

Also notice that Larix Broadcaster supports RTMPS publishing so you can use it for secure delivery from users' mobile devices to your streaming infrastructure.

Re-publishing RTMP over SSL


The re-publishing setup is also doesn't differ from common use case setup, except for specifying Use SSL parameter for port as shown below.


The rest of parameters are the same as for non-SSL stream setup described here.

Pulling RTMPS streams


Once you have RTMPS stream available via some URL, you can pull it by Nimble Streamer. Setting up RTMPS stream pull is set up the same way as it's done for un-encrypted RTMP. The only difference is the URL, you just need to use rtmps:// prefix and specify SSL port.
rtmps://192.168.10.11:1934/live/stream
You can see example here:


Other fields are used the same way as usual.

Providing RTMPS playback


Once you have your certificate ready as described in "Set up SSL certificate" section above, your RTMPS streams will be available as other RTMP stream. The only difference is rtmps:// prefix and a port number in URL, e.g.:
rtmps://192.168.10.11:1934/live/stream
Other than that there's no difference from common playback setup.

Notice that even though RTMP is a great way to publish streams, its playback scenarios will soon be declined by the industry due to Flash technology support discontinuity. So if you need real-time latency for live streams, take a look at Get ready for Flash farewell and RTMP decline article explaining to handle this shift. However, pulling and publishing capabilities will not go anywhere so you can use them as much as you need.

Also take a look at RTMP setup in Nimble Streamer video tutorial to learn more about basic RTMP scenarios.

If you need to change the outgoing content, like create multiple streams for ABR, use our Live Transcoder for Nimble Streamer to transform. It has high performance and low resource usage.

For other live streaming scenarios, check our live streaming use cases.

Related documentation


RTMP feature setLive Streaming featuresLive Transcoder for Nimble StreamerPay-per-view for live streaming,

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.