RTMP MBR to WebRTC Simulcast

Millicast enables 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:

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

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

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

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:

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 Millicast 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:

Name

1080p

RTMP Server

rtmp://live-rtmp-pub.millicast.com:1935/v2/pub/

RTMP Key

{StreamName}?token={Token}&sourceId=1&simulcastId

Encoder

x264 or nvenc

Resolution

1920x1080

Bitrate

6000kbps

Keyframe

2

BFrames

0

Name

720p

RTMP Server

rtmp://live-rtmp-pub.millicast.com:1935/v2/pub/

RTMP Key

{StreamName}?token={Token}&sourceId=2&simulcastId&videoOnly

Encoder

x264 or nvenc

Resolution

1280x720

Bitrate

2000kbps

Keyframe

2

BFrames

0

Name

360p

RTMP Server

rtmp://live-rtmp-pub.millicast.com:1935/v2/pub/

RTMP Key

{StreamName}?token={Token}&sourceId=3&simulcastId&videoOnly

Encoder

x264 or nvenc

Resolution

640x360

Bitrate

500kbps

Keyframe

2

BFrames

0

Start Publishing

Click the "Start" button for each target.

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 Millicast.

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


Did this page help you?