RTMP | RTMPS

Using RTMP and RTMPS to publish to Dolby.io Real-time Streaming

Real-Time Messaging Protocol (RTMP) has been well supported by popular hardware and software applications for many years. In addition to WebRTC, Dolby.io Real-time Streaming allows you to broadcast and distribute content from an RTMP or secure RTMPS source.

Dolby.io Real-time streaming also supports the ability to live stream multiple bitrates from professional RTMP encoders and deliver WebRTC Simulcast. For more information, see Simulcast.

This document will outline how to set up and broadcast low-latency RTMP streams via the Dolby.io CDN.

RTMP publishing

👍

Getting Started

If you haven't already, begin by following the Getting Started tutorial to create a Dolby.io application and start your first broadcast. You will need to create a publish token to generate the necessary RTMP details.

Select the publish token that you want to use for your RTMP streaming application.

How to find your RTMP publish URL

Click on the Publishing tab of the token screen where you will find details for the various protocols such as WHIP, SRT, and RTMP.

In order for you to publish with RTMP, you will need two items from this interface, the RTMP publish path and RTMP publish stream name. Note that the RTMP publish stream name value from the dashboard is a concatenation of the stream name and the publishing token as a query string parameter.

Depending on the particular RTMP integration you may need to specify these details separately or as a full URL endpoint:

RTMP Publish URL = RTMP publish path + / + RTMP publish stream name

This information will authenticate you as a publisher on Dolby.io Real-time Streaming and allow you to successfully broadcast a live feed using your account. Typically the URL will look something similar to:

rtmp://rtmp-auto.millicast.com:1935/v2/pub/myStreamName?token=5c7a1529...bdc8&priority=1&sourceId=YourId

For a secure RTMPS endpoint, you would substitute the RTMPS publish path, which uses a different protocol and port.

Note: The the priority and sourceId are optional parameters that allow you to specify the priority and a unique ID for the published stream.

Suggested RTMP Encoder Settings

Each setup can be slightly different, so adjust the below settings to find what fits best for you.

OBS with RTMP

See the OBS Integration Guide for more details.

Encodernvenc
Rate ControlCBR
Keyframe Interval2 (seconds)
PresetMax Quality
Profilehigh
x264 optionsbframes=0

Note: These are the recommended settings for the NVIDIA NVENC H.264 encoder. If you do not have the NVIDIA NVENC H.264 encoder available, we recommend setting the Rate Control to CBR and the profile to baseline.

Setting x264 options to bframes=0 or profile to baseline is required to avoid video artifacts on the viewer and recording side.

vMIX with RTMP

See the vMix Integration Guide for more details.

ApplicationFFMPEG
Profilebaseline
Level3.1
Presetultrafast
Keyframe Interval2 seconds
Threads4
Net Buffer5 (seconds)

Basic RTMP Settings

The following are basic recommended settings for any encoder:

CodecH.264
bframesdisabled
Profilebaseline, main, high
Keyframe Interval2 seconds

Note: If you cannot disable bframes, we recommend setting the Profile to baseline.

If you have any questions or suggestions, feel free to contact us.

Learn more

Find additional integration guides such as Haivision, Zoom, Teradek, Videon, and more. To find examples for how to use this explore RTMP related articles from the developer blog.