3 Common WebRTC WorkflowsJuly 8, 2020
Web Real-Time Communications, or WebRTC, has been around for nearly a decade. During that 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.
Today, 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 adding a media server to their WebRTC streaming solutions, 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 three popular media streaming workflows leveraging the power of WebRTC.
Using WebRTC end-to-end ensures the lowest latency possible. These types of broadcasts are also simple to start and provide an accessible end-user experience via browser-based streaming.
While WebRTC streaming doesn’t require additional infrastructure, including a media server in the mix increases the number of concurrent viewers and supports further customization. Specifically, by connecting all participants to a live streaming server like Wowza Streaming Engine, content distributors can reduce the amount of bandwidth required without impacting latency. This allows for real-time streaming at a larger scale, while minimizing the number of connections each client must establish and maintain.
Anyone looking to boost WebRTC with additional functionality would also benefit from using a streaming media server behind the curtain. This allows broadcasters to enhance their implementation with a number of essential capabilities such as VOD, recording, authentication, and more.
Pure WebRTC workflows are ideal for interactive video chat scenarios and other real-time streaming applications — but we’re not just talking about virtual happy hours. From law enforcement bodycams to emergency 911 platforms, organizations are using Wowza’s WebRTC solution to ingest browser-based video for broadcast to small audiences with sub-500-millisecond latency.
RTMP, RTSP, or SRT to WebRTC
By ingesting and converting non-WebRTC 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, RTSP, or SRT streams into WebRTC combines flexible publishing from any source with simple browser-based playback. For this type of workflow, broadcasters simply transport live streams to their media server using a standard IP camera or encoder and then convert the video streams into WebRTC.
This streaming architecture lends well to surveillance and remote monitoring solutions. For instance, the IoT medical provider Child Health Imprints relies on this type of 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 with Wowza Streaming Engine.
WebRTC to HLS or DASH
For broadcast scenarios that require easy acquisition and large-scale video distribution, WebRTC to HLS or DASH is the way to go. The primary benefits of this setup are twofold: WebRTC ensures easy browser-based publishing, and HTTP-based protocols like HLS and DASH give 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 deliver the best video quality and viewer experience possible — no matter the connection, software, or device.
That said, a noteworthy tradeoff here is latency. HTTP-based protocols simply weren’t designed with real-time interactivity in mind. But while HLS traditionally delivers latencies of 6-30 seconds, the Low-Latency HLS extension has now been incorporated as a feature set of HLS, promising to provide sub-2-second video delivery at scale.
Hybrid workflows, which combine more than one of the architectures above, are also increasing in popularity. For example, Carbyne, an emergency 911 service that powers real-time video chat, relies on a hybrid WebRTC workflow to achieve both real-time interactivity 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.
In the January/February 2020 issue of Streaming Media magazine, Robert Reinhard cautioned, “If you’re using Flash for low-latency real-time streaming, you’ve got about a year or less to try moving over to a WebRTC solution. And what does that mean exactly? Any code you’re using on your Flash-based media server (Adobe Media Systems, Wowza Streaming Engine, and so on) needs to migrate to WebRTC instead of Real-Time Messaging Protocol (RTMP)”
While this statement is particularly relevant to the first two workflows above, it speaks to WebRTC’s growing importance in the streaming industry. By relying on WebRTC for a wide range of implementations, broadcasters can replace legacy protocols with a future-proof video streaming solution.