Streaming

Real-time Streaming With Dolby.io

SUMMARY

Learn how to leverage Dolby.io Real-time WebRTC streaming platform to create low latency high quality streams that scale globally. 


Dolby.io Real-time Streaming is a low-latency WebRTC streaming solution that can deliver 4k video and audio streams to massive audiences all while maintaining under half a second delay anywhere in the world. Because of the scale, speed, and quality of the service, Dolby.io Real-time Streaming supports a range of use cases including Remote Live Production, Broadcasting Sports, and Live Virtual Auctions. In this guide, we’ll help break down how to capture and broadcast with Dolby.io Real-time Streaming, maximize the use of our content delivery network (CDN), and decode streams for playback.

Broadcasting and streaming can be broken down into four main components as delineated by the workflow diagram below:

The Dolby.io real-time streaming workflow breaking down how to capture, broadcast, contribute, distribute, and playback dolby.io webrtc streams.

Whether you are broadcasting a stream to hundreds of thousands of viewers, or a select team of video engineers in a production studio, all broadcasts must follow the pattern of CaptureBroadcastDistribution via the CDN, and Playback.

The Dolby.io Platform

Before we start streaming, it is worth briefly discussing the Dolby.io platform. Dolby.io is a cloud solutions platform offering APIs and SDKs for building real-time streaming solutions. To try out Dolby.io you can create a free account with just an email and get started testing out the services with a generous allotment of complementary credits.

Capturing Content with Dolby.io

To broadcast content you either need a physical camera capturing the content, a virtual camera inside a game engine, or the content available via some content manager such as such as OBS or Adobe Premiere. Content can be captured and delivered to the encoding stage of the diagram via a number of outputs so long as the output can be ingested and encoded by the hardware or software.

Once you are set up and ready to capture content:

  1. Create a free Dolby.io account,
  2. Create a token and continue to the broadcasting section below.

Bonus: Try broadcasting from the dashboard in just a few clicks.

Broadcasting Content with Dolby.io

Broadcasting content requires access to the public internet and encoding which can be accomplished via the browser, software, hardware, and via the Dolby.io Client-side broadcaster SDKs. The Dolby.io CDN can ingest contribution streams encoded in three main formats: 

WebRTC, an internet transfer protocol that supports video codecs H.264, H.265, VP8, VP9, AV1, and the Opus audio codec.
SRT, a video transfer protocol that can be transmuxed to WebRTC via the Dolby.io CDN and supports H.264*.
RTMP and RTMPs, internet transfer protocols that can be transmuxed to WebRTC via the Dolby.io CDN that supports only the H.264 video codec*.
*SRT and RTMP will automatically have AAC audio transcoded to Opus via the CDN

To learn more about encoding your content for the Dolby.io CDN, check out these guides: 

Web and Mobile BrowsersSoftware HardwareClient-side Broadcast SDKs
Broadcasting from the Dolby.io Dashboard

How to Navigate the Dolby.io Dashboard
OBS using SRT

OBS using WebRTC

Flowcaster using WebRTC

Gstreamer using WebRTC

LiveU Studio using WebRTC

FFmpeg

vMix for RTMP

vMix for SRT

Avid Media Composer for SRT

Broadcasting WebRTC with the Larix Mobile App

Using NDI to Publish
Broadcasting from Unreal Engine

Broadcasting from Unity

Surround sound with OBS
RTMP Encoders

SRT Encoders

WebRTC Encoding with the Osprey Talon 

Haivision KB Encoder for RTMP

Teradek for RTMP

DJI Drones

GoPro

360 Camera
Client-side Broadcast SDK Documentation for:
Web
Android
iOS
React Native
Mac
Linux
Windows
Flutter

Building a Broadcast App in Flutter

Building a Broadcast App in React

Ingesting Raw frames

If you are interested in learning about how Dolby.io is able to support broadcasting WebRTC in so many different ways, check out this guide on the WebRTC HTTP Ingest Protocol (WHIP).

WebRTC CDN and Dolby.io Platform

The Dolby.io Streaming CDN offers a range of server-side features that users can toggle and adjust via the REST APIs or the Dashboard to ensure streams are secure, stable, and scalable. To learn more about the CDN features, check out these guides below: 

SecurityStabilityScalability
Geo-blocking

Allowing Origins

IP Filtering

Allowing select IP Addresses

Securing Streams with subscriber tokens

REST API Token generation

Using Postman for token generation
Multisource streams

Audio Multiplexing

Simulcasting WebRTC and RTMP

WebRTC Simulcasting for Multi-Bitrate delivery

Multi-bitrate delivery for RTMP

Backup Publishing
Stream Syndication

Multi-region support

Recording streams

Webhooks

Stream Analytics

Self Signed Tokens

Decoding and Playback with Dolby.io

The final component of the streaming workflow is taking the stream, after it has been passed through the Dolby.io CDN, and playing it back to the end viewer. Similar to the broadcasting side, decoding and playback is supported via web and mobile browsers, software, hardware, and via client-side broadcast SDKs.

Web and Mobile BrowsersSoftwareHardwareClient-side SDKs
Broadcasting and Viewing in the Dashboard

View Multiview Streams in the Browser
Playback in the Unreal Engine

Playback in Unity

Playback for 360 streams

Adding Graphics to your Stream with Singular.live

Customizing Client side Graphics with Singular.live

Interactive streaming with Maestro
iOS Stream Monitor App

tvOS Stream Monitor App

Android Stream Monitor App
Client-side Playback SDK Documentation for:
Web
Android
iOS
React Native
Mac
Linux
Windows
Flutter

Building a basic JavaScript Livestream App

Adding Multiview to your Livestream App

Adding Chat to your Livestream App

Building a Broadcast App in Flutter

Building a Broadcast App in React

Managing stream thumbnails

Viewer Events during stream

If you are interested in learning about how Dolby.io is able to support egressing WebRTC in so many different ways, check out this guide on the WebRTC HTTP Egress Protocol (WHEP).

More Resources

Integrating with the Dolby.io CDN can be done in many different ways, offering an unparalleled level of customization to your use case. Whether it is a broadcast for hundreds of thousands of viewers or a select team of stakeholders, Dolby.io aims to provide the tools and resources to fit your requirements. To learn more about Dolby.io Real-time Streaming check out some of our other resources including:

  1. Dolby.io Real-time Streaming Documentation
  2. Dolby.io Blog
  3. Dolby.io Real-time Streaming REST API Documentation 
  4. Dolby.io Code Samples on GitHub

If you can’t find the resources you need, have questions about the product and pricing, or need to be connected to sales, create a ticket on our contact portal and the team will assist you.

Braden Riggs

Developer Advocate

Born and Raised in Australia and now Living in San Francisco, Braden joined the Developer Relations team in 2021 after graduating from UC San Diego with a degree in data science. Braden loves to create apps and content for the Dolby.io Blog, YouTube channel, and the samples GitHub. When not working you can find Braden surfing, hiking, or exploring San Francisco.

Get Started

Drive real-time interactions and engagement with sub-second latency

We are more than just a streaming solutions provider; we are a technology partner helping you build a streaming ecosystem that meets your goals. Get started for free and as you grow, we offer aggressive volume discounts protecting your margins.

Developer Resources

Explore learning paths and helpful resources as you begin development with Dolby.io.

Copy link
Powered by Social Snap