• Broadcasters are looking to share and
mix their streams directly in the browser
with no need to install anything.
• Growing video consumption is straining
streaming servers and increasing the
network costs of broadcasters.
• The introduction of H.264 as a mandatory-to-implement codec in WebRTC and its
availability across all modern browsers
makes WebRTC easier to use for existing
There are a few places where you can find
WebRTC in media streaming services these
days, and they use WebRTC quite differently
from one another. To understand how these
came to be, it is important to understand
how WebRTC works in the context of media
streaming, as shown in Figure 1.
The browser will use a signaling channel
toward the application itself. The application
makes the decision on how and where to connect the
browser using WebRTC. For each use case, the application and its behavior will be very different.
WebRTC’s real-time audio and video can be used
in front of a CDN or a media server, for both sending
and receiving media. This will be used for low-latency
streaming use cases.
Last but not least, WebRTC’s data channel is used
to create ad-hoc peer-to-peer (P2P) CDN connections
directly between browsers. This can reduce buffering
and costs for broadcasters.
With that in mind, let’s see how this fits into five different media streaming scenarios.
1. Broadcasting Without Installations
The simplest way and place for WebRTC to work in
media streaming is by enabling broadcasters to share
their streams without an application installed.
WebRTC is the only mechanism available today to
allow a browser to share its camera and microphone.
Flash is no longer an option. Plugins are losing popularity and are hard to maintain. People are left with
either installing a dedicated application or using WebRTC inside the browser.
In the past, this approach required transcoding between VP8 (the video codec available in WebRTC) and
H.264. Today, this is no longer necessary, since browsers support H.264 encoding in WebRTC.
Figure 2 illustrates how this evolved architecturally. Connecting to a CDN with a live media stream
required Real-Time Messaging Protocol (RTMP) support, which translated into using an additional gateway component. Kurento, an open source WebRTC
media server, was widely used for that, and recently,
Wowza and Red5 Pro started offering similar capabilities of connecting WebRTC to RTMP (and both are also
WebRTC RTMP HLS
CDN Broadcaster Viewer
A simple schematic showing WebR TC in a media streaming environment.
Connecting to a CDN to deliver a live stream via HLS using WebR TC