CBR vs VBR: Surveillance StreamingAuthor: John Honovich, Published on Jan 17, 2012
[[NOTE: This report has been updated and rereleased as CBR vs VBR vs MBR - Surveillance Streaming. Readers should see that report for more up to date information.]]
How you stream video has a major impact on quality and bandwidth. Typically, when people think streaming or encoding, CODECs such as H.264, MPEG-4, etc come to mind. 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 and VBR come into play. They have a major impact on quality and bandwidth consumption. In this report, we provide a tutorial and recommendation on how to optimially choose and use streaming modes.
CBR vs VBR
Choosing between CBR and VBR 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
You need to determine whether and how much you will allow the bit rate levels to vary.
Why the Difference
What you are filming 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 usually do not use the terms CBR or VBR, 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, Panasonic and Sony.
While VBR and CBR are the most well known types, for surveillance purposes, we recommend you use a hybrid encoding mode we call 'VBR Plus a Cap'. This combines the best parts of VBR and CBR encoding.
- Compared to a typical CBR setting, VBR with a cap should reduce bandwidth consumption by 30-70%. It accomplishes this by allowing the camera to reduce bandwidth used when the scene is simple (whereas CBR simply stays locked at the fixed bit rate).
- Compared to a typical VBR setting, VBR with a cap 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.
VBR Plus Cap is offered by some but not all manufacturers. Those offering it include: Axis, Avigilon and Bosch. Those not offering it include Arecont Vision, Panasonic, Pelco and Sony. However, even among the 3 who do offer it, the terminology they use varies dramatically. See the second half of this report for guidance on how to enable VBR Plus a Cap for each manufacturer.
Cameras that support VBR Plus a Cap provide significant benefits and should be a positive factor in camera selection. VBR Plus Cap can and should be used in pretty much every scene. Compared to VBR Plus a Cap, 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 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.
Arecont Vision cameras are pure VBR only. Indeed, no configuration options exist for bit rate or VBR.
In our many tests of Arecont Vision cameras, their bandwidth consumption tends to explode during scenes of high motion or low light. Their bandwidth spikes are significantly higher than competitors. The only AV camera that did not exhibit this is their recent 20MP camera (which we understand uses a new image sensor).
Next is the Avigilon H.264 series cameras. These cameras support our preferred VBR Plus a Cap 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 offers two fundamental options for encoding. By default, Axis is a pure VBR encoder with bandwidth going as low or as high as it needs to to keep the quality level constant. We recommend that you switch Axis cameras to what they call their 'Constant bit rate mode'. See image below:
Axis's 'Constant bit rate' mode does not act like the naming implies and is confusing. Thankfully, the mode is essentially VBR Plus a Cap. The admin enters the maximum bit rate they want to allow into the 'Target bit rate' and that sets the cap. The Axis camera will then vary its bit rate as low as it can but no higher than the value configured in the 'Target bit rate' field.
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 VBR Plus a Cap with Bosch set the target bit rate as your minimum and whatever you are comfortable with as the cap in the maximum bit rate.
Pelco supports 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 camera. The specific bit rate is set in the Bit Rate field, shown below:
Sony only supports pure CBR only encoding. This is set in the Bit Rate field shown below:
Sony has an option for 'adaptive rate control' but this is not like 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 - Panasonic, Pelco, Sony, etc.
You need to be especially careful when configuring CBR cameras. 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 VBR Plus a Cap 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.
Most Recent Industry Reports
The world's leading video surveillance information source, IPVM provides the best reporting, testing and training for 10,000+ members globally. Dedicated to independent and objective information, we uniquely refuse any and all advertisements, sponsorship and consulting from manufacturers.