Receiver Estimated Maximum Bitrate (REMB)
Have you ever been in a group or team call where audio of some of the participants are choppy? That might be the absence of REMB, which can cause poor quality and buffering in audio and video.
What is REMB?
REMB is a receiver-side WebRTC technology that estimates bandwidth (increase or decrease) to control network or transport congestion. Transport congestion occurs when the transmitted data surpasses the network's bandwidth, resulting in delays and missing data.
In REMB, the sender transports data streams to the receiver after receiving a bitrate estimation. Based on the network traffic received, the receiver determines when to increase or decrease the bitrate and dispatches it back to the sender. This occurs because the sender knows no information about the network's bitrate. A typical operating principle of REMB is demonstrated in the diagram below.
Benefits of REMB
- Dynamic bitrate adjustment: It hints about problems in the network and dynamically adjusts the bitrate based on the network conditions.
- It gets rid of network congestion by estimating the required available bandwidth.
- It improves the quality of audio and video in VoIP calls.
Real-world Applications of REMB
Communication services like Zoom and Google Meet use REMB to estimate bitrates. Kurento a low-level WebRTC client implements REMB for dynamic bandwidth estimation. REMB is supported in WebRTC open source frameworks like Asterisk.
What are the Side Effects of REMB?
Latency increment: The implementation of REMB can increase latency. Complex implementation: The REMB architecture is complex to implement due to the several network conditions that need to be accounted for.
Frequently Asked Questions
What are the Alternatives of REMB in WebRTC?
The WebRTC mechanism Transport Wide Congestion Control (TWCC) can be used as an alternative option for REMB.
How does REMB's dynamic bandwidth adjustment work?
REMB uses the conditions of the network to calculate the bandwidth dynamically.