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.
Encoder | nvenc |
Rate Control | CBR |
Keyframe Interval | 2 (seconds) |
Preset | Max Quality |
Profile | high |
x264 options | bframes=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.
Application | FFMPEG |
Profile | baseline |
Level | 3.1 |
Preset | ultrafast |
Keyframe Interval | 2 seconds |
Threads | 4 |
Net Buffer | 5 (seconds) |
Basic RTMP Settings
The following are basic recommended settings for any encoder:
Codec | H.264 |
bframes | disabled |
Profile | baseline, main, high |
Keyframe Interval | 2 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.
Updated 10 months ago