How you stream video has a major impact on quality and bandwidth.
And it is not simply CODEC choice (e.g., H.264 vs H.265).
Regardless of the CODEC, one still needs to choose how the video stream handles changes in scene complexity. There are three key streaming modes (CBR, VBR, MBR) and one related feature (smart codecs) which drastically impact camera bandwidth:
CBR vs VBR vs MBR
Choosing between modes is typically overlooked:
- CBR stands for constant bit rate, aims for a constant or unvarying bandwidth level with video quality allowed to vary
- VBR stands for variable bit rate and allows the bit rate to vary but maintains a constant video quality level
- MBR stands for maximum bit rate allowing the bit rate to vary but only up to a maximum value, effectively VBR with a cap.
You need to determine whether and how much you will allow the bit rate levels to vary.
How Scene Complexity Varies
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 amounts storage.
IP Camera Implementation Issues
Making the choice more challenging are two other common factors:
Defaults vary: 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.
Terminology varies: 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 12 manufacturers including as Arecont, Avigilon, Axis, Bosch, Dahua, Hikvision, Panasonic, Samsung, Sony and more.
Recommendation - Use MBR
IPVM recommends you use MBR (sometimes called VBR with a cap) streaming, combining 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
Additionally, MBR allows better use of smart codecs (discussed below), which CBR does not. Given the bandwidth savings of smart codecs in our tests (50%+ on average in addition to reductions mentioned above), this is an even more compelling reason to use MBR.
Smart Codecs Further Savings (Requires MBR/VBR)
In the past few years, smart codecs have become common, with most camera manufacturers including them on their cameras. Smart codecs vary compression based on what is in the scene, so static background areas may be highly compressed/lower quality while moving objects remain lower compression. Additionally, they may vary the I-frame interval, switching to a low interval and lowering bandwidth when there is little activity in the scene.
Since smart codecs vary compression, I-frame interval, and other codec settings, they require VBR or MBR by nature and are generally not used with CBR. Indeed, most cameras automatically switch streaming mode to VBR when turning smart codecs on, seen below in an example from a Dahua camera's web interface.
Note that some cameras allow CBR to be set after turning on smart codecs, but in our tests this was simply incorrect, with streams reacting the same as when VBR with smart codecs was used.
Impact Of VBR, CBR, And MBR
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: