CBR vs VBR vs MBR - Surveillance StreamingAuthor: John Honovich, Published on Mar 11, 2015
How you stream video has a major impact on quality and bandwidth.
However, regardless of the CODEC, one still needs to choose how the video stream handles changes in scene complexity. This is where streaming modes such as CBR, VBR and MBR come into play. They have a major impact on quality and bandwidth consumption. In this report, we provide test results, a tutorial and recommendation on how to optimially choose and use streaming modes.
CBR vs VBR vs MBR
Choosing between modes is typically overlooked:
- CBR stands for constant bit rate and, like the term implies, aims for a constant or unvarying bandwidth level
- VBR stands for variable bit rate and, like that term implies, allows the bit rate to vary
- MBR stands for maximum bit rate allowing the bit rate to vary but only up to a maximum value.
You need to determine whether and how much you will allow the bit rate levels to vary.
Why the Difference
What you are streaming can vary dramatically in complexity:
- If you have a camera zoomed in on a white wall during the day, that is a very simple scene. For a 'good' quality level, a 720p HD / 30fps stream might need 200 Kb/s for this.
- By contrast, if you have a camera aimed at a busy intersection, this is a very complex scene. At the same exact settings as the first scene, you might need 20x the amount of bandwidth, or 4,000 Kb/s to maintain the 'good' quality level.
The more complex the scene, the more bits (i.e., bandwidth) you need to maintain the same quality level. It does not matter how 'good' or 'advanced' your codec is, this will always be the case.
What Do You Prefer?
The main practical surveillance challenge is that scene complexity can vary significantly even on the same camera and across just a few hours. Set the camera to use too little bandwidth and the image quality will suffer. Set the camera to use too much bandwidth and you will waste significant money on storage.
IP Camera Implementation Issues
Making the choice more challenging, two common issues arise:
- Camera manufacturers have widely varying defaults - both in terms of encoding modes enabled and bit rates used. As such, two different camera's efficiency in using bandwidth can vary dramatically even if the frame rate and resolution are the same.
- Manufacturers often do not use the terms CBR or VBR or MBR, often creating novel controls or terminology that can be confusing to understand. It is easy to make a mistake or misunderstand what their controls allow.
Inside, we provide clear recommendations and explanations on mode choice and setup for cameras such as Arecont, Avigilon, Axis, Bosch, Dahua, Hikvision, Panasonic, Samsung and Sony.
While VBR and CBR are the most well known types, for surveillance purposes, we recommend you use MBR (sometimes called VBR with a cap). This combines the best parts of VBR and CBR encoding.
- Compared to a typical CBR setting, MBR often reduces bandwidth consumption by 30-70%. It accomplishes this by allowing the camera to reduce bandwidth used when the scene is simple (whereas CBR always stays locked at the fixed bit rate).
- Compared to a typical VBR setting, MBR can reduce bandwidth consumption by 20-50%. It accomplishes this by stopping VBR bandwidth consumption from exploding (typically at night) by imposing a maximum bandwidth level. No practical quality loss is likely to occur because the dark scene reduces captured image details anyway. See: Tested: Why Lowering Bandwidth at Night is Good
MBR is offered by most manufacturers in newer firmwares, though with different terminology and settings.
Cameras that support MBR provide significant benefits and should be a positive factor in camera selection. MBR can and should be used in pretty much every scene. Compared to MBR, CBR simply wastes bits. And if you really want 'pure' VBR, just set the cap really high.
The video screencast below shows you VBR, CBR and (MBR) VBR Plus a Cap in action. We demonstrate the impact on bandwidth use across 4 scenes - daylight simple, daylight with motion, night time and super high motion.
If you are not familiar with the consequences of using different streaming modes, please watch this video:
Manufacturer Configuration Options
In this final section, we walk through the encoding configuration options for each camera.
Traditionally, Arecont Vision only had VBR, no CBR nor MBR. Now, newer firmware version support all 3 so if you have existing Arecont cameras that do not show these options, upgrade the firmware.
Here is what Arecont's current configuration options for streaming show:
The above rate limit for VBR provides the max / cap.
Next are Avigilon H.264 series cameras. These cameras support VBR and the recommended MBR mode. They accomplish this through using a control called "Max Bitrate". See below:
With Avigilon, bandwidth consumed will vary up to the maximum bit rate configured with the max bitrate acting as a cap.
Axis has never supported 'true' CBR. Historically, their 'constant bit rate' setting was actually an MBR but mislabelled. Recently, Axis has rectified this.
With Axis' newest 2015 firmware, here are the options for streaming:
The maximum bit rate option allows the bit rate to vary up to the number entered.
Bosch has the most complex configuration options for encoding of any camera we have reviewed. It can do all 3 of the modes we discussed. However, it requires understanding how to set the 'target bit rate' and 'maximum bit rate' fields shown below:
If you want CBR, set the target bit rate and the maximum bit rate close together. Bosch allows for these two numbers to be as close as a 10% difference (e.g., 5000 and 5500 for target and max respectively).
If you want VBR, make sure to set the target bit rate low and the maximum bit rate high, keeping in mind that Bosch uses the target bit rate as the minimum bit rate effectively. Also, Bosch typically sets agressively high target bit rates (to be conservative) so you likely want to lower regardless.
Finally, for MBR, with Bosch set the target bit rate as your minimum and whatever you are comfortable with as the cap in the maximum bit rate.
Dahua IP cameras supports all 3 modes, as shown below:
The bit rate at the bottom of the red box above acts as the cap / max.
Hikvision IP cameras supports all 3 modes, as shown below:
The Max. Bitrate above acts as the cap / max.
Panasonic IP cameras support all 3 modes, but with some hybrid options. Along with CBR and VBR/Advance VBR (MBR, but with the ability to set individual image quality when the stream is viewed on multiple clients), the modes "Frame Rate" is VBR without a cap so frames are not dropped, and "Best Effort" is essentially VBR with a min/max.
The 5 modes can be seen in the example below:
Pelco supports all 3 modes, but use what they call CVBR or 'Constrained Variable Bit Rate' encoding. Essentially, this is a CBR codec that allows the bit rate to vary modestly - say plus or minus 10%. As such, it is more or less a CBR mode. The specific bit rate or target is set in the Bit Rate field, shown below:
Samsung IP cameras supports all 3 modes, as shown below:
The maximum bit rate shown above acts as the cap / max.
Sony now supports all 3 modes, though Sony only started supporting this in 2013/2014 so existing Sony cameras that have not had their firmware upgraded may not support VBR or MBR.
To enable MBR on Sony, select VBR and then fill in the maximum bit rate limit appropriately as shown below:
Below shows all 3 options for Sony:
Note: Sony has an option for 'adaptive rate control' but this is not true VBR. Adaptive rate control only reduces the bitrate of the stream if there is network congestion but does not vary the bit rate based on the scene complexity (as is typical with VBR). As such, adaptive rate control may be useful for congested or bandwidth limited networks like wireless or DSL connections but does not offer the benefits of VBR in normal operating conditions.
Dealing with CBR Cameras
Thankfully, CBR only cameras are increasingly becoming extinct. However, if you come across a camera that does and have to use it, here are som recommendations.
Out of the box, manufacturers of CBR cameras, typically set the default bit rate fairly high relative to common usage. This means the image quality should look good. On the negative side, this also likely means you are wasting bandwidth.
With CBR, determining the right bit rate can take one of two basic approaches:
- Keep the bit rate set high, avoid any quality problems but probably waste 30-70% of bandwidth used.
- Test the complexity of the scene and the quality you need, by trying a few bandwidth levels at different times of the day. Then choose.
Either way, CBR forces users to compromise. Unless the scene stays the same 24/7, you will have some tradeoffs - either wasted bandwidth or degraded quality at some points of the day. This is not an easy call and why we prefer MBR since it eliminates this tricky decision.
Both VBR and CBR impact compression levels, which is an important and underappreciated aspect of video streaming. Regardless of resolution selected (i.e., 720p, 1080p, etc.), the amount the video is compressed varies and the more compression, the worse the video typically looks. With VBR, the compression level is fixed, and bandwidth varies to ensure each scene is compressed at that level. With CBR, the bandwidth is fixed, so the compression level has to adjust when the scene changes. For more, read our our video quality / compression tutorial.