REMB stands for Receiver Estimated Maximum Bitrate. It is a RTCP message used to provide bandwidth estimation in order to avoid creating congestion in the network.

This RTCP message includes a field to convey the total estimated available bitrate on the path to the receiving side of this RTP session (in mantissa + exponent format). Even if it is defined as the total available bitrate, the sender typically uses it to configure the maximum bitrate of the video encoding.

In addition to be used from an endpoint to notify the available bandwidth in the network, it has also been used by media servers to limit the amount of bitrate the sender is allowed to send.

To provide a better estimation, REMB is usually used in combination with the abs-send-time header extension because providing accurate timing information is critical for the accuracy of the REMB value calculation.

This RTCP message defined in draft-alvestrand-rmcat-remb-03 was never fully standardized but is supported by all the WebRTC browser implementations, although in case of Chrome it is deprecated in favor of the new sender side bandwidth estimation based on RTCP Transport Feedback messages. The support for this message is negotiated in the Offer/Answer SDP Exchange.

How Does REMB Work?

In a typical WebRTC video call, both the sender and receiver are constantly exchanging RTCP packets to monitor the quality of service. REMB adds an additional layer to this by including a specific RTCP packet that contains the receiver’s estimated maximum bitrate. This packet is sent from the receiver to the sender, allowing the sender to adjust its bitrate accordingly.

The REMB algorithm takes into account various factors such as packet loss, jitter, and network latency to calculate the maximum bitrate that the receiver can handle. Once calculated, this information is encapsulated in an RTCP REMB packet and sent back to the sender.

Why is REMB Important?

REMB plays a vital role in enhancing the user experience in WebRTC applications. By providing real-time feedback on network conditions, it allows for dynamic bitrate adaptation. This ensures that the video quality is as high as possible given the current network conditions, without overwhelming the network or causing excessive latency.

Moreover, REMB is particularly useful in scenarios where network conditions are highly variable, such as mobile networks or shared Wi-Fi environments. In such cases, the ability to adapt the bitrate on the fly is invaluable for maintaining a smooth and high-quality video stream.

REMB vs. TWCC

It’s worth noting that REMB is not the only mechanism for bitrate adaptation in WebRTC. TWCC is another mechanism that is considered to be more efficient and flexible, especially in complex network scenarios involving multiple streams and varying conditions.

Additional reading

Tags: network

Looking to learn more about WebRTC? 

Check my WebRTC training courses

About WebRTC Glossary

The WebRTC Glossary is an ongoing project where users can learn more about WebRTC related terms. It is maintained by Tsahi Levent-Levi of BlogGeek.me.