RTMP MBR to WebRTC Simulcast

Dolby.io Real-time Streaming enable users to stream RTMP MBR (Multi-Bitrate) for delivery via WebRTC Simulcast. This gives the streamer the ability to use their RTMP encoder to control their RTMP multi-bitrate renditions, and provide "adaptive bitrate" delivery in the Millicast web player using WebRTC Simulcast:

25572557

Getting Started

Download the latest version of OBS.

After you install the OBS, you can install the multiple RTMP plug-in for OBS.

obs-multi-rtmp is a plugin for streaming multiple RTMP streams concurrently.

This plugin can share encoders with the main output of OBS to save CPU power. It can also use standalone encoders with the basic configuration (bitrate).

How to Install the Plugin in Windows

  1. Download the latest release from OBS-Multi-RTMP.
  2. Unzip the zip file and extract it into the OBS folder.
    OBS Studio C:\Program Files\obs studio
    Millicast OBS default location. C:\Program Files\OBS WebRTC (64bit)\obs-plugins
818818

You should see the following obs-multi-rtmp.dll in your plugins folder.

772772

Once you have the obs-multi-rtmp.dll in your C:\Program Files\OBS WebRTC (64bit)\obs-plugins folder you can start the OBS-WebRTC version.

After you have installed the plugin, open OBS-WebRTC and you will see a new "Multiple Output" option in the Docks Menu. You can open the panel by selecting Menu > Docks -> Multiple Output

840840

Adding Stream Targets

📘

Enable multisource on your publish token

Make sure you have enabled multisource on your publish token. For more information check Managing your tokens

Click "Add New Target" on the Multiple output panel:

840840

Input the RTMP details, including the RTMP Key following this format:
{StreamName}?token={Token}&sourceId={number of source}&simulcastId

You can find the StreamName and Token in the Dolby.io dashboard. The sourceId must be numbers 1-3 with simulcastId enabled.

Example:
livename?token=UIGfw2aMkC6AVssda2dacSzMkxGFtLOk&sourceId=1&simulcastId

Here is example using 3 bitrates (1080p, 720p, 360p) as inputs using the obs-multi-rtmp plugin:

Name1080p
RTMP Serverrtmp://live-rtmp-pub.millicast.com:1935/v2/pub/
RTMP Key{StreamName}?token={Token}&sourceId=1&simulcastId
Encoderx264 or nvenc
Resolution1920x1080
Bitrate6000kbps
Keyframe2
BFrames0
Name720p
RTMP Serverrtmp://live-rtmp-pub.millicast.com:1935/v2/pub/
RTMP Key{StreamName}?token={Token}&sourceId=2&simulcastId&videoOnly
Encoderx264 or nvenc
Resolution1280x720
Bitrate2000kbps
Keyframe2
BFrames0
Name360p
RTMP Serverrtmp://live-rtmp-pub.millicast.com:1935/v2/pub/
RTMP Key{StreamName}?token={Token}&sourceId=3&simulcastId&videoOnly
Encoderx264 or nvenc
Resolution640x360
Bitrate500kbps
Keyframe2
BFrames0

Start Publishing

Click the "Start" button for each target.

840840

Please note that may you need to click "Start Streaming" in OBS to update the current configuration, then click "Stop Streaming" and return to the "Multiple output" panel. When you click "Start Streaming" again the config will be updated and the RTMP MBR renditions will stream to Dolby.io Real-time Streaming services.

The Millicast player will support the RTMP MBR sources using WebRTC Simulcast in the web browser:

25572557