CBR stands for Constant Bit Rate.
It is a term often used with video encoders, to indicate that the encoder works in a constant bit rate, generating the same number of bits per a short period of time (usually 1 second or less).
CBR encoding schemes work well when the network bandwidth is known and limited and is quite common in live video sessions where latency must remain low.
The compression created by CBR encoding schemes are great for sending media live over a network, but not as good when needing to store recordings as they tend to be larger than necessary.
WebRTC uses CBR by default when encoding camera sources.
The other popular encoding scheme is VBR.
Why is CBR Important?
In the world of WebRTC, maintaining a steady stream of data is crucial. WebRTC is all about real-time communication, which means there’s little room for buffering or lag. WebRTC needs to first understand how much bandwidth is available on the network, by way of bandwidth estimation. Once an estimate is made, it tries to never overshoot the available bandwidth and it does that by employing CBR encoding over the outgoing video channels.
By using CBR, you’re ensuring that the data flow remains constant, which can lead to smoother playback and fewer interruptions. This is especially beneficial in cases where the available bandwidth is low or fluctuating and trying to send more than the network can handle may lead to packet losses, latency and degradation in video quality.
However, it’s worth noting that while CBR can offer stability, it doesn’t always guarantee the best quality. Since the bitrate remains constant, even simpler parts of a video or audio stream that don’t require as much data will still use the same amount. This can sometimes lead to inefficient use of bandwidth.
CBR vs Other Encoding Methods
As mentioned earlier, the main alternative to CBR is VBR or Variable Bitrate. VBR adjusts the bitrate based on the complexity of the media being encoded.
For instance, a quiet audio segment or a static video scene might use a lower bitrate, while a complex action scene or a segment with multiple instruments playing might use a higher one. This dynamic adjustment can lead to better overall quality and more efficient bandwidth usage.
However, it might also result in unpredictable bandwidth spikes, which can be problematic for real-time communication.
Constant Bitrate Advantages
CBR’s strength lies in its predictability. For applications and platforms built on WebRTC, where real-time communication is the core focus, CBR can offer a level of stability that’s hard to beat.
For the most part, if you are using cameras, you will be using CBR in your WebRTC implementation.