CBR vs. VBR: The Difference Between Constant Bitrate and Variable Bitrate
Table of Contents
There is a lot that goes on behind the scenes of live streaming. Many types of technology come together to deliver high-quality videos that capture events as they unfold in real-time. Encoders play a very important role in this process.
Broadcasters have a lot of choices when it comes to configuring their encoder settings. The settings they choose will determine the quality of their streams. There are two main types of encoding that broadcasters can choose from constant bitrate (CBR) and variable bitrate (VBR) encoding.
In this post, we’re going to provide an in-depth comparison of CBR vs. VBR. We will also introduce a third option, which is constrained VBR. After we provide some background on each of these technologies, we will identify which is best in different streaming scenarios. To wrap things up, we will review some other related encoder settings.
Table of Contents
- What is Bitrate?
- What is Constant Bitrate (CBR) Encoding?
- What is Variable Bitrate (VBR) Encoding?
- CBR vs. VBR: A Quick Comparison
- When to Use CBR vs. VBR
- Bitrate for Live Stream Encoding
- Bitrate for VOD Transcoding
- Recommended Encoder Settings for Live Streaming
- Final Thoughts
What is Bitrate?
Bitrate measures the amount of data that is transferred over a period of time. In online video streaming, video bitrate is measured in kilobits per second, or kbps. Bitrate affects the quality of a video. Streaming with a higher bitrate helps you produce higher-quality streams.
When it comes to online video streaming, broadcasters often make their content available in multiple bitrates. This is referred to as multi-bitrate streaming. This allows viewers to access the bitrate that is appropriate for their internet speed which allows them to access the highest quality content with the least amount of lagging, skipping, and buffering.
Adaptive bitrate video players have been game-changing since they automatically deliver the rendition of the video with the appropriate bitrate in response to a real-time analysis of each viewer’s internet speed.
Bitrate is also something that is important in the encoding or transcoding stage of the streaming process since this too deals with the transfer of data. As we mentioned, constant bitrate streaming and variable bitrate streaming are the two most popular types of encoding.
What is Constant Bitrate (CBR)?
Constant bitrate, which is commonly abbreviated to “CBR,” refers to transmitting data at a constant rate. For encoding, this refers to an encoder outputting data at a constant rate. It is not responsive to the size or complexity of the files that it processes.
CBR is preferred in many streaming situations because it has been the standard in online video streaming for some time. Since it is so popular in the live streaming industry, constant bitrate is the most compatible option.
Since CBR uses a constant transmission, the bitrate is set at a single rate and measured as such. It’s recommended that you set your bitrate relatively high so that your encoder can handle more complex segments of data as it processes your video.
The consistency of CBR makes it well-suited for situations where video content must be encoded in real-time. CBR is not suited for storing data.
What is Variable Bitrate (VBR)?
Variable bitrate, which is commonly abbreviated to “VBR,” refers to data being transmitted at a variable rate. With VBR encoding, segments of data are packaged by their complexity so that the transmission is optimized. Encoding in VBR makes it possible to process at a higher bitrate and transmit larger files.
In terms of encoding, data is output at a set rate per time segment, and variable bitrate is measured by taking the average bitrate of the entire file.
The fluctuating aspect of this method of encoding makes VBR best suited for on-demand video transcoding. This is because it can take longer to process the data.
There are a few types of VBR that are slightly different from one another called average bitrate, quality variable bitrate, unconstrained variable bitrate, and constrained variable bitrate. Constrained variable bitrate is the most notable of these four.
It is also important to point out that VBR is not as widely supported as CBR.
Constrained variable bitrate, or constrained VBR, is another bitrate control setting that is less commonly discussed but growing in popularity.
Constrained VBR is a type of VBR encoding that requires setting a maximum bitrate and a maximum buffer window. Constrained VBR uses two encoding passes to process data.
CBR vs. VBR: A Quick Comparison
Encoding vs. Transcoding
Before we dive into the use cases of VBR and CBR, it is important to acknowledge the similarities and differences between encoding and transcoding.
Encoding refers to converting a video from one format to another. In the context of live streaming, this refers to converting the RAW video files that are captured by the camera into a digital format that is able to be streamed over the internet. This is important because RAW video files are too bulky to be streamed.
Encoding is made possible with dedicated encoding hardware or software.
Transcoding refers to compressing video files to create copies in different sizes. These copies are called “renditions.” Transcoding is generally used for on-demand video streaming. Many online video platforms, including Dacast, are equipped with cloud transcoding tools that transcode video files as they are uploaded to the platform.
When to Use CBR vs. VBR
CBR and VBR are both important in video and audio encoding. Neither is better than the other since they both serve unique purposes due to their individual strengths and weaknesses.
Let’s break down the use cases for these two encoding processes.
Live Stream Encoding
CBR is the best setting for live stream encoding. The consistency of CBR makes it more reliable for time-sensitive data transport. This is ideal for live streaming since most live videos are broadcasted at a single bitrate.
Since constant bitrate processes data at a consistent rate, there is no concern of the bitrate exceeding internet speeds. However, the reliability of this method leads to sacrificing quality in some situations.
It is possible to use VBR for live stream encoding, however, it is rarely recommended unless it is using a one-pass setup.
Constrained VBR is the optimal setting for on-demand video transcoding because it is capable of handling larger files while still maintaining some sense of consistency. Overall, VBR produces better quality streams, and on-demand video transcoding provides the flexibility to use VBR, so it’s a no-brainer.
Variable bitrate produces higher quality streams. Since there is less time sensitivity in transcoding on-demand video files, you don’t have to worry about the bitrate exceeding internet speed which gives you the flexibility to lean into the benefits of VBR.
Just like video content, audio-only streaming should use CBR for live audio broadcasts and VBR for on-demand audio streaming.
However, some audio-specific encoders will not give you the option to choose. In that case, you must go with whatever option is available to you. Audio files are much less bulky than video files, so either option should be fine.
Recommended Encoder Settings for Live Streaming with Dacast
Dacast recommends using CBR for live broadcasting on our streaming platform. That’s because the constant bitrate is more reliable for encoding video content in real-time.
There are some other encoder settings that we require for our live streaming software. Straying from this configuration may cause issues in your stream.
Here are our required settings:
|VIDEO CODEC||H.264 (x264 may work)|
|FRAME RATE||25 or 30|
|KEYFRAME INTERVAL||2 secs (or 2x frame rate)|
|RATE CONTROL||Constant (CBR)|
|AUDIO BITRATE||128 kbps|
|AUDIO CHANNELS||2 (Stereo)|
|AUDIO SAMPLE RATE||48 kHz (48,000 Hz)|
Please note that these settings are specifically for live streaming. Please check out our transcoding walkthrough for more relevant information on configuring your transcoding settings on Dacast.
Resolution & Bitrate Settings
There are different bitrate and resolution combinations required to create streams in ultra-low definition, low definition, standard definition, high definition, and full high definition.
Here is a breakdown of the resolution and bitrate settings for achieving each video quality:
|Name||Ultra-Low Definition||Low Definition||Standard Definition||High Definition||Full High Definition|
|Video Bitrate (kbps)||350||350 – 800||800 – 1200||1200 – 1900||1900 – 4500|
|Resolution Width (px)||426||640||854||1280||1920|
|Resolution Height (px)||240||360||480||720||1080|
CBR and VBR play different roles in online video streaming. It is important to use the appropriate option for your specific streaming needs.
The bottom line is that CBR is more consistent and reliable for time-sensitive encoding, and VBR produces higher-quality results. CBR is the best option for live streaming, whereas constrained VBR is the best option for on-demand video upload.
Now that you have a better idea of how CBR and VBR compare, it is time to put this knowledge to work. If you are new to live streaming, we recommend taking advantage of Dacast’s 30-day free trial. You can use OBS Studio, which is a free, open-source encoding software, to familiarize yourself with the technological functions we’ve described in this post.
All you have to do to access your free trial and start streaming is create a Dacast account, and you’ll be up and running in no time. No credit card or binding contracts required.
Join our LinkedIn group for exclusive offers, regular live streaming tips, and access to a community of live media professionals.
Stay up to date with our latest features and product releases