This blog post will show you how to live stream your Dolby.io conferences to a very large audience the fastest way possible using the ultra-low latency broadcasting service provided by Millicast.
Today, the latency between the Dolby.io conference and the end user watching a live stream behind Millicast is between 1 and 1.5 seconds, which is much faster than a traditional HLS stream that adds a 10 to 30 second delay. And we are actively working on integrating the two services directly to bring this latency down to below 500ms.
Configure Millicast
Log into your Millicast account and go to the Live Broadcast section of the dashboard.

From there, click the add button to create a new token. Millicast uses the notion of stream token to create an ingest endpoint for an RTMP stream and broadcasting system.

Provide a label to easily identify the token. To make this example more simple, set NO RESTRICTION
for the Secure viewer
setting. Then click the OK button.
Now that you have created a token, click on it to access the settings.


Authentication
In order to start and stop the live stream, you will need to make REST API calls from your backend. Since each call to the REST API requires authentication, you must first request an access token from the Authorization REST API. Locate the Consumer Key and Consumer Secret from your Dolby.io dashboard and use the pair for the Authorization
header of the HTTP call.
curl --request POST \
--url https://api.voxeet.com/v1/auth/token \
--header 'Accept: application/json' \
--header 'Authorization: Basic base64(CONSUMER_KEY + ":" + CONSUMER_SECRET)' \
--header 'Cache-Control: no-cache' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data grant_type=client_credentials
The response to this call will be a JWT token that contains the access token to use for all the following REST API calls.
Start the live stream
The Millicast platform is now configured and ready to accept your RTMP stream. On the Millicast dashboard, go to the API
tab to locate the information needed to start the live stream.

On this page, locate the RTMP PUBLISH PATH and the RTMP PUBLISH STREAM NAME settings, concatenate them to form the RTMP ingest endpoint URL. e.g. rtmp://live-rtmp-pub.millicast.com:1935/v2/pub/abcdefgh?token=12345...abcdef.
To start the live stream to the RTMP endpoint, send a POST request to this Dolby.io REST API using the access token for authorization. The payload of this POST request is a JSON object that contains a single property which is called uri
and has for value the URL that is provided by Millicast.
curl --request POST \
--url https://api.voxeet.com/v2/conferences/mix/{conference_id}/rtmp/start \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--header 'Content-Type: application/json' \
--data '{"uri":"rtmp://live-rtmp-pub.millicast.com:1935/v2/pub/{stream_name}"}'
A few seconds after calling the API, you will be able to see the live stream starting using the hosted player from Millicast available at the URL HOSTED PLAYER PATH.
Stop the live stream
If you need to stop the live stream before the conference ends, call the following Dolby.io REST API:
curl --request POST \
--url https://api.voxeet.com/v2/conferences/mix/{conference_id}/rtmp/stop \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--header 'Content-Type: application/json'
Dolby.io REST API SDKs
We also provide SDKs for the REST APIs for your Node.JS and Python backend projects to make it easier to call the REST APIs from your code.