Congestion in WebRTC refers to the condition where the network path between peers becomes overloaded, causing increased latency, packet loss, and jitter.
Congestion control in WebRTC
WebRTC implements congestion control through BWE (Bandwidth Estimation), which continuously monitors network conditions and adjusts the sending bitrate accordingly. The primary algorithm used is GCC (Google Congestion Control), which:
- Detects congestion: By monitoring packet arrival timing (Transport-CC) and loss rates
- Reduces bitrate: When congestion is detected, the encoder reduces output quality
- Probes for headroom: Gradually increases bitrate (probing) to discover available bandwidth
- Adapts quality: Changes resolution, frame rate, and bitrate to match available bandwidth
Emerging improvements
L4S (Low Latency, Low Loss, Scalable Throughput) is an emerging network mechanism that provides explicit congestion signals, allowing WebRTC to respond more precisely to congestion before packet loss occurs.
Effective congestion control is what makes WebRTC resilient on real-world networks, smoothly adapting quality rather than freezing or dropping calls.


