5 Common WebRTC WorkflowsNovember 23, 2021
Web Real-Time Communications, or WebRTC, has been around for a decade. During this time, the open-source project has gone from an emerging technology to a mainstream standard for many streaming applications.
But before we get too far ahead of ourselves, let’s define what WebRTC is. The framework combines protocols and interfaces to achieve what its name promises: real-time communications via the web. Whereas video conferencing could once only take place with a plug-in or app, WebRTC allows users to initiate click-to-start video chats using only their browsers.
Google Hangouts, Facebook Messenger, and Houseparty all make use of WebRTC within their services. And according to Google, “with Chrome, Edge, Firefox, and Safari supporting WebRTC, more than 85% of all installed browsers globally have become a client for real-time communications on the internet.”
At its core, WebRTC was designed for peer-to-peer communication between a limited number of browsers. But by combining the power of WebRTC with a streaming platform like Wowza, content distributors can enhance the framework’s out-of-the-box capabilities and broadcast live streams to any destination.
So, how exactly is WebRTC being used in today’s deployments? Below we outline five popular media streaming workflows leveraging WebRTC.
Using WebRTC end-to-end ensures the lowest latency possible — clocking in at sub-500 milliseconds. These types of broadcasts are also simple to start and provide an accessible end-user experience via browser-based streaming.
WebRTC streaming doesn’t require additional infrastructure when broadcasting to a handful of viewers. But if you’re looking to implement a pure WebRTC-based workflow at scale, you’ll need a platform like Wowza behind the scenes.
Our Real-Time Streaming at Scale feature for Wowza Streaming Cloud leverages a custom CDN to enable interactive delivery to a million viewers — combining speed, capacity, and convenience into one simple solution. This type of workflow is ideal for interactive video experiences ranging from online betting to live auctions and esports.
RTMP to WebRTC
By ingesting and converting Real-Time Messaging Protocol (RTMP) inputs, content distributors are able to maintain low latency in today’s Flash-less world — without having to rethink video contribution.
More specifically, repackaging RTMP streams into WebRTC combines flexible publishing from any source with low-latency delivery. For this type of workflow, broadcasters simply transport live streams to their media server using a standard software or hardware encoder and then convert the video streams into WebRTC.
An RTMP to WebRTC architecture appeals to live sports broadcasters and the like requiring fine-tune control over encoding settings. Our Real-Time Streaming at Scale feature combines sub-second streaming via RTMP contribution with near-limitless scale (depicted as the third option in the diagram below). Broadcasters can also convert RTMP to WebRTC using Wowza Streaming Engine, but audience size will be much more limited.
Workflow: Real-Time Streaming at Scale
RTSP to WebRTC
The Real-Time Streaming Protocol (RTSP) powers most IP cameras today, but these streams can only be viewed when repackaged into a playback-friendly alternative. WebRTC is the only route for preserving low latency, making RTSP to WebRTC another common workflow.
This streaming architecture lends well to surveillance and remote monitoring solutions. For instance, the IoT medical provider Child Health Imprints relies on an RTSP to WebRTC workflow to achieve low-latency streaming for virtual healthcare capabilities. Their cloud-hosted appliance enables remote doctors to monitor babies on life support across the globe by streaming low-latency video from camera-enabled medical devices. Both Wowza Streaming Cloud and Wowza Streaming Engine support this capability.
WebRTC to HLS or DASH
For use cases that require easy acquisition and large-scale video distribution — without strict requirements on delivery speed — WebRTC to HLS or DASH is the way to go. The benefits of this setup are twofold: WebRTC ensures easy browser-based publishing, and HTTP-based delivery gives content distributors the ability to reach thousands of viewers across any device.
Both Wowza Streaming Engine and Wowza Streaming Cloud make it easy to convert incoming WebRTC streams into an HTTP-based protocol. What’s more, Wowza Streaming Cloud supports auto-scaling across a fully managed infrastructure to accommodate global audiences of any size. HLS and DASH also leverage adaptive bitrate streaming to ensure the best video quality and viewer experience possible — no matter the connection, software, or device.
Do note: a major tradeoff here is latency. HTTP-based protocols simply weren’t designed with real-time interactivity in mind, so you’ll want to go with a different workflow if speedy streaming is priority number one.
Hybrid workflows, which combine more than one of the architectures above, are also becoming common. For example, Carbyne, an emergency 911 service that powers real-time video chat, relies on a hybrid WebRTC workflow to achieve both immediacy and scale.
The platform leverages Wowza’s WebRTC capabilities to support sub-500 millisecond video delivery from virtually any connected device. This supports two-way video chat between citizens and call-takers. From there, Wowza Streaming Engine repackages the feed into the HLS protocol for broad distribution to paramedics, law enforcement officers, hospitals, and other stakeholders.
WebRTC keeps growing in importance in the streaming industry. It’s a great alternative to legacy technologies like RTMP and is the only solution available today for sub-second streaming to the masses.