Scaling WebRTC: Why SFUs are the Industry Standard

In the rapidly evolving landscape of real-time communication, Selective Forwarding Units (SFUs) have emerged as the definitive standard for hosting large-scale WebRTC video conferences. This article explores how SFUs solve the scalability limitations of traditional Peer-to-Peer (Mesh) and Multipoint Control Unit (MCU) architectures. By examining the core mechanisms of SFUs—including bandwidth optimization, client-side decoding flexibility, and server-side cost-efficiency—we will clarify why this architecture is the preferred choice for modern video conferencing platforms.

The Limitations of Mesh and MCU Architectures

To understand the dominance of SFUs, it is essential to look at the limitations of the two older WebRTC architectures:

The SFU: The Optimal Hybrid Approach

An SFU acts as a routing hub, combining the best aspects of Mesh and MCU architectures. Instead of mixing video streams, the SFU receives a single upstream video and audio feed from each participant and forwards (routes) those streams to all other participants.

This approach shifts the heavy lifting away from both the client’s upload bandwidth and the server’s CPU, making it the most scalable solution for several key reasons:

1. Asymmetrical Bandwidth and CPU Usage

With an SFU, each participant only uploads their stream once, regardless of how many people are in the call. While they still need to download multiple streams, modern download bandwidth is typically much higher than upload bandwidth. Additionally, because the SFU does not decode or re-encode the video packets, server-side CPU consumption remains exceptionally low, allowing a single server to handle thousands of concurrent streams.

2. Support for Simulcast and Scalable Video Coding (SVC)

SFUs utilize advanced video technologies like Simulcast and Scalable Video Coding (SVC) to handle participants with varying network qualities. * Simulcast: A client uploads their video in multiple resolutions and bitrates (e.g., low, medium, and high) to the SFU. The SFU dynamically decides which resolution to forward to each recipient based on their individual network downlink speed. * SVC: Similar to Simulcast, but the video is sent as a single stream containing multiple layers of quality. The SFU drops layers for users with poor connections without affecting users with strong connections.

3. Complete Layout and UX Control

Because the SFU forwards individual, unmixed streams to the client, the client-side application retains full control over the user interface. Developers can build custom layouts, allow users to pin specific speakers, dynamically resize video feeds, and implement features like automatic speaker detection.

4. Cost-Effective Infrastructure Scaling

Because SFUs perform simple packet routing rather than media processing, the hardware requirements to run an SFU are significantly lower than those for an MCU. This drastic reduction in server CPU requirements translates directly into lower cloud infrastructure costs, allowing platforms to scale to millions of users economically.