July 10, 2014

Using RTMP publishers with URL authentication

Currently Nimble Streamer supports RTMP-to-HLS transmuxing having RTMP stream published from any type of encoder as an input. If an RTMP source has multiple bitrates, WMSPanel provides very easy to use UI for composing ABR HLS streams from RTMP.

Of course there is a need for authenticating the incoming streams by defining some user and password, so Nimble Streamer provides this capability as well. Now there are several ways of authenticating a publishing user.

One way is to use credentials within RTMP stream. This is what encoders like FMLE do. This is what Nimble Streamer supports by default. It's described in this article.

Another approach is to pass user and password directly in URL. This is how encoders like Open Broadcaster implement authentication. This is sometimes called setting RTMP publisher without authentication support.

So now Nimble can authenticate this kind of published streams. Let's see how this is done.

1. Nimble Streamer set up


Follow the steps described in this article. When you're in the "3. Start publishing" step, use the setting described below.

2. Open Broadcaster set up


The URL with Nimble login an password key will look like this:

rtmp://127.0.0.1:1935/application_name?rtmpauth=push_login:push_password/stream_name

Where push_login and push_password are credentials which you defined during RTMP application set up in WMSPanel at step 1. rtmpauth is a parameter which carries the credentials.

In Open Broadcaster, go to Settings / Stream
Choose
Streaming Type: Custom Streaming Server

Then fill the URL (or FMS URL):
rtmp://_YOUR_SERVER_:1935/_APP_NAME_?rtmpauth=_LOGIN_:_PASSWORD_/

Stream key (or Play Path / Stream key):
_STREAM_NAME_

For example, your URL (or FMS URL) will be the following:
rtmp://127.0.0.1:1935/live_application?rtmpauth=push_login:push_password
And Stream key (or Play Path/Stream key):
live_stream



You may also set RTMP republishing via Nimble Streamer so you can get published RTMP and then push it further into your streaming network. To make it work with 3rdparty streaming source, you may also consider WMSPanel server tasks remote management via web console for convenient control of server-side commands. Launch any command, like ffmpeg process, with no need to log in via SSH, just an easy-to-use web interface.

You may also consider using RTMP streaming API to control it remotely.

If you face any issues setting up Nimble Streamer, contact us directly or drop a message in our forum.

Related documentation


Nimble StreamerRTMP republishing via NimbleRepublishing RTMP to Fastly CDNPublish RTMP from Wowza to NimblePull RTMP make HLS transmuxingTransmuxing RTMP to HLSAdaptive bitrate for RTMP to HLSPay-per-view for Nimble StreamerMP4 transmuxing to HLS VOD streamingMPEG-TS UDP conversion to HLS with NimbleMixing multiple MPEG-TS sources into ABR HLSNimble Streamer HTTP hotlinking protectionCPU and RAM level alertsTransmuxing RTMP to Icecast and ShoutcastServer tasks remote management via web UI

No comments:

Post a Comment