Bitrate control for IP video
Summary
A bitrate controller is a mechanism that keeps track of the bitrate of encoded video and determines if it needs to be reduced. Different bitrate strategies can be employed to achieve a bitrate that matches the bandwidth and the storage capacity of the video system. This white paper presents and compares the three strategies, or bitrate control methods, that are most commonly used in network video from Axis: ABR, VBR, and MBR. The method CBR (constant bitrate) is briefly presented in an appendix, as it is widely used by other network video providers.
ABR (average bitrate) is a sophisticated bitrate control scheme designed to improve video quality while also keeping the storage within the system’s limits. While its primary goal is not to save bandwidth, the ABR method keeps a bitrate budget over time - a video stream is assigned a certain amount of storage and the ABR controller adapts the video quality to make the whole stream fit.
Since ABR is constantly monitoring the current bitrate, the camera keeps track of the amount of consumed storage and continuously projects the bitrate target to ensure optimal video quality over the period. Unused storage from earlier, idler, periods can be used for maintaining high video quality in later, busier, periods and the bitrate budget is adhered to. ABR works with continuously recorded streams without scheduled pause periods. It is supported by ARTPEC-based Axis products with software version 9.40 or later, where ABR is a good complement to Zipstream.
VBR (variable bitrate) is the simplest bitrate control strategy. While it has the benefit of constant, uncompromised video quality, the main drawback is that storage needs may be unpredictable. Motion or other events in the scene can cause the stream size and bitrate to increase significantly, so a system that uses VBR must maintain fairly large storage margins for such occasions.
MBR (maximum bitrate) is a strategy that guarantees that the bitrate will stay below a specified value regardless of video scene complexity. While the bitrate is allowed to momentarily overshoot the limit, MBR ensures that the average bitrate stays below. Limiting the bitrate is done without any consideration of the effects on image quality, which is typically reduced overall. The greater the gap between the actual bitrate and the bitrate limit, the greater the risk of losing forensically relevant details. If the bitrate limit is carefully selected, MBR can effectively protect a system from unnecessary bitrate peaks and avoid data loss caused by storage limitations or poor network connectivity.
If the storage, the network, and the VMS all have unlimited capacity, VBR will provide the best video quality. In a system with capacity limitations, video quality can remain high with a carefully selected compression level and MBR with a high bitrate limit. In most cases however, ABR configured with an MBR limit is probably the best choice. This combination can keep optimal video quality even in changing scene conditions, and if the MBR limit is high enough, any bitrate degradation will be notified.
Introduction
A bitrate controller is a mechanism that keeps track of the bitrate of encoded video and determines if it needs to be reduced. Different bitrate strategies can be employed to achieve a bitrate that matches the bandwidth and the storage capacity of the video system.
This white paper presents and compares the bitrate control methods used in network video products from Axis: ABR, VBR, and MBR. We discuss and compare the suitability of the methods for different types of scenes and present the parameters that affect the efficiency of each method. CBR (constant bitrate) is briefly presented in an appendix, as it is used broadly by other network video providers.
Background: bitrate control basics
Most security systems have capacity limitations. In order to match storage resources, network bandwidth, or both, a security system needs a mechanism that limits and controls the amount of information that the video streaming devices generate. This mechanism is bitrate control.
Strategies for reducing information
Bitrate control is closely linked to the video encoding process that converts raw video at extremely high bitrates into transport-ready or storage-ready video, with a bitrate suitable for the application. The video encoding algorithm identifies and removes unnecessary information and formats the video into an optimal video stream. Simultaneously, there is also a control loop at work — the bitrate controller — which keeps track of the outgoing bitrate and determines how much information needs to be reduced. The desired bitrate must be achieved in a way that follows the selected bitrate strategy, which is done mainly through dynamic adjustment of the video quality.
There are many methods for adjusting the video bitrate while ensuring that the video continues to meet the given quality expectations. However, most algorithms require manual input in advance and will not automatically adapt to changing scene conditions. It is complicated and time-consuming to perform bitrate configuration in surveillance situations, since video storage is costly, and the surveillance system must be able to continue operating without supervision.
The most common methods of bitrate control are maximum bitrate (MBR) and constant bitrate (CBR), which enforce the selected bitrate limit but which may also drastically reduce the forensic video quality. Average bitrate (ABR) is a more sophisticated bitrate control strategy that minimizes configuration needs and allows for the unsupervised delivery of optimal video quality.
To compare ABR and MBR, the following figure shows cropped snapshots from a video of a large scene with a lot of movement. The video was encoded with a bitrate limit of 500 kbps, and using different bitrate control methods – ABR to the left and MBR to the right. The image quality and frame rate were significantly higher with ABR, since this method allowed for a much higher instantaneous bitrate (approximately 4000 kbps) during a short period of movement in an otherwise very quiet scene. The ABR controller had the storage budget to allow for a temporarily higher bitrate when needed, while the MBR algorithm did not have that flexibility.

Video encoding standards
A higher bitrate generally implies better video quality, but some video encoding algorithms are more efficient than others. Video encoder algorithms are grouped by video encoding standards, and each generation typically manages to compress the video further while maintaining the same bitrate. The most popular video encoding standard today is H.264/AVC. The later version H.265/HEVC has not yet been widely deployed in the surveillance industry, mainly due to complexity, limited low-light performance, and licensing issues.
Bitrate control and Zipstream
Axis Zipstream technology is a standard-compatible video encoder implementation that is radically more efficient than standard encoders. Unlike most bitrate-saving technologies, Zipstream does not just limit the bitrate. Instead, intelligent algorithms ensure that relevant forensic information is identified and preserved locally at high quality, while other parts are reduced more, with the goal to lower the average bitrate. This means that even if the video encoder is using the Zipstream algorithm for deciding where in the image to save bits, a bitrate control algorithm will also help to enforce the strategy.
Average bitrate (ABR)
ABR is a sophisticated bitrate control method that delivers optimal video quality while also avoiding an extension of the allocated amount of storage per camera. By configuring the retention time and allocated storage at the camera level, the embedded algorithm continuously monitors and adapts the video compression parameters, making storage predictions reliable and without sacrificing image quality.
Bitrate control with a spending plan
ABR controls the bitrate based on the bitrate budget that you configure in the camera settings. A video stream is assigned a certain amount of storage and the ABR controller in the camera will adapt the video quality in order to fit the video from the whole period into that budget. Since ABR is constantly monitoring the bitrate, the camera will keep track of the amount of consumed storage and continuously project the bitrate target to ensure optimal video quality for the period. Unused storage from earlier, idler periods can be used for maintaining high video quality in later, busier periods, while the total bitrate budget is adhered to.
The ABR algorithm makes estimates based on the bitrate history and automatically adjusts the compression level to meet the storage target. The compression level (determined by the quantization parameter QP) has a direct effect on the image quality, but if realistically configured, ABR will optimize the quality and still remain within the storage limits.
ABR is configured per stream. The bitrate history is unique for each stream configuration with the same set of parameters and the algorithm will continue to function even if a stream is temporarily disconnected or the camera is restarted.
ABR can be used for all types of applications and systems with continuous recording without scheduled pause periods.
ABR configuration
If ABR is configured with an overly constrained bandwidth budget, the controller will issue bitrate degradation events in the camera’s event system. These events can be monitored by any system software that picks up camera events and generates notifications to the system owner. The camera’s user interface has a built-in bitrate calculator that helps with the configuration. The safest and most accurate storage estimates can be provided by the online tool AXIS Site Designer, which can calculate settings that are optimized for the camera and the specific use case.
The settings to configure include:
retention time
storage or target bitrate (the calculator will convert between these)
maximum bitrate (optional, can be used to combine average bitrate with a maximum bitrate limit)

A new VAPIX API for ABR configuration will enable all VMS vendors to implement ABR configuration directly in the VMS. The best way to manage storage restrictions are from a central point in the system where the complete storage budget can be controlled. The tool AXIS Device Manager also supports automatic and coordinated ABR configuration of multiple cameras.
ABR and Zipstream
ABR works very well together with Axis Zipstream, with unaffected Zipstream tuning and Zipstream level. The Zipstream algorithm itself will continue to save bandwidth in non-prioritized areas of the image. ABR enables savings from Zipstream to be used in the future when there might be temporary bandwidth peaks in the scene. Savings from both dynamic FPS and dynamic GOP can be used later to improve the forensic value.
Products supporting ABR
ABR is supported by Axis products that are based on ARTPEC-5, ARTPEC-6, ARTPEC-7, and ARTPEC-8, with software version 9.40 or later.
Variable bitrate (VBR)
VBR is the simplest bitrate control strategy. While it has the benefit of constant and uncompromised video quality, the main drawback is that storage needs may be unpredictable. This is because motion or other events in the scene can cause the stream size and the bitrate to increase significantly, so a system that uses VBR must maintain relatively large storage margins for such occasions.
Maximum bitrate (MBR)
MBR guarantees that the bitrate stays below a set limit regardless of video scene complexity. Should the bitrate exceed the limit, MBR simply compresses the video further in order to keep the bitrate down. This is done with no consideration of the effects on image quality, which is typically reduced overall. The larger the gap between the actual bitrate and the limit, the higher the risk of losing forensically relevant details due to increased compression.
Note that MBR allows the bitrate to momentarily overshoot the limit. The average bitrate over time will be below the limit.
MBR is widely used in video surveillance equipment. Unfortunately, the bitrate limit is often set to a very low default value, causing sub-optimal video quality in complex scenes. Most storage calculation tools also base their calculations on the low MBR limit, which means that security consultants and integrators who design video surveillance systems with the help of these tools may end up creating systems where the storage is insufficient for high-quality video recordings.
The MBR algorithm is not primarily designed to save lots of storage, but rather to avoid large data loss. If the bitrate limit is carefully selected, MBR can effectively protect a system from unnecessary bitrate peaks and avoid data loss caused by storage limitations or poor network connectivity.
The MBR algorithm used in Axis products was previously referred to as CBR, constant bitrate. See the appendix about CBR for details.
Bitrate control details: behavior and limitations
For each bitrate control method there are specific settings that influence the bitrate. Some parts of the configuration may be complex and might not appear completely logical - this is due to circumstances regarding Axis API history, legacy implementation, and the goal to be backwards-compatible with existing partner applications. Other, more general image parameters, such as frame rate, resolution, WDR settings, and camera parameters also affect the bitrate. The end of this chapter describes the steps to optimize the bitrate from a camera in order to get the best quality per bit.
In the following subsections we use the term low-complexity scene to describe a surveillance scene with little or no motion. A high-complexity scene typically contains a lot of motion in different directions, but it can also be a static scene when a PTZ (pan-tilt-zoom) camera is moving to a new position.
ABR
Scenes and settings
ABR is not designed primarily to save bandwidth, but is meant to improve the video quality and simultaneously avoid exceeding the storage limits of the system. The method works with continuously recorded streams without scheduled pause periods. ABR is implemented as an MBR algorithm with automatic parameter adjustment to reach the bitrate goal averaged over a period of time.
The ABR algorithm needs a time period of 24h with typical scene variations to find the correct balance between quality and bitrate. ABR does not delete or store any recordings – it simply controls the configuration of the budget and it is important that the recorder settings match this configuration.
A low-complexity scene would produce a stream with a low bitrate, but as soon as something occurs to increase the complexity, the bitrate will jump to a higher level.
A high-complexity scene will produce a stream with a high bitrate. However, if the controller estimates that the long-term storage goal may be in danger, the visual quality will be degraded and, if really needed, even the frame rate might be reduced. A temporary overshoot is allowed, and any bitrate saved earlier can be used to keep more important data later if the bitrate budget allows. If ABR is combined with a reasonable MBR limit, extreme scene conditions will avoid overloading a weak recording device, video player or network. In extreme cases, the storage limit might be exceeded, but this should only happen when the selected storage or target bitrate is unrealistic. See the events section below.
Settings that influence ABR:
The compression level sets the quality required for the video. A lower compression level will provide higher visual quality, but will also generate a higher bitrate. A higher compression level will provide a lower bitrate, but also lower-quality video.
The retention time sets the length of the period (in days) for which to save recordings.
The storage or target bitrate defines the limit for the period. The calculator will convert automatically between the two.
The maximum bitrate sets an optional (higher) limit that will be enforced on top of the average bitrate limit, to avoid overloading a network link or a recorder.
The GOP length configures the length of the Group of Pictures (GOP) used for the video. A shorter GOP length leads to more frequent I-frames, which means a higher bitrate. A higher GOP length value will result in fewer I-frames, which means a lower bitrate. If the GOP length is too high, the search function in recorded video will be more complicated, as it needs to refer to an I-frame to render the following P-frames of the video. Also, in case of data loss, visual artifacts will remain, as only the I-frames are fully updated.
ABR events
If the quality of the stream is lower than expected, ABR can generate an event to alert the operator. This can be used as an event trigger in the web GUI (“Average bitrate degradation”) and will also be present in the event stream. Using the event stream, you can differentiate between a number of cases:
low_bitrate – too large ABR budget
The bitrate is much lower than expected, meaning that not all storage will be used.low_quality – ABR stream quality is expected to be low
The video quality has been adjusted more than expected and will not meet Axis standards.very_low_quality – ABR stream quality is expected to be insufficient
Same as low_quality, but the quality has been reduced much more than expected and video quality will be insufficient.high_bitrate – ABR fails to meet the goal, storage will be insufficient
The bitrate is higher than expected and more storage than desired will be used.abr_error – a unified ABR trigger (the same event trigger as in the web GUI), meaning that either low_quality, very_low_quality, or high_bitrate is true.
To receive the event, the recording software (the VMS) must be prepared for ABR and be able to receive, process, and display the event correctly.
More details about ABR can be found in the VAPIX documentation that is available to Axis ADP partners and members of Axis Developer Community (login via www.axis.com/partners/adp-partnerprogram or www.axis.com/developer-community).
VBR – scenes and settings
Axis network cameras are compliant with H.264 level 4.1, which states that the maximum allowed bitrate is 50 Mbit/s. This means that even in VBR mode, the bitrate must be limited to 50 Mbit/s to ensure compliance with other systems. Quality and/or frame rate may thus be reduced in videos that would have needed a bitrate greater than 50 Mbit/s.
A low-complexity scene will generate a stream with a low bitrate, but as soon as something occurs to increase the complexity, the bitrate will jump to a higher level.
A high-complexity scene will generate a stream with a high bitrate. Under extreme conditions, the bitrate may overload a weak recording device, video player or network. If the infrastructure is insufficient, there will be packet loss, damaged video frames, or stopped streams.
Settings that influence VBR:
The compression level sets the quality required for the video. A lower compression level will provide higher visual quality, but will also generate a higher bitrate. A higher compression level will provide a lower bitrate, but also lower video quality.
The GOP length configures the length of the Group of Pictures (GOP) used for the video. A shorter GOP length leads to more frequent I-frames, which means a higher bitrate. A higher GOP length value will result in fewer I-frames, which means a lower bitrate. If the GOP length is too high, the search function in recorded video will be more complicated as it needs to refer to an I-frame to render the following P-frames of the video. Also, in case of data loss, visual artifacts will remain, as only the I-frames are fully updated.
MBR – scenes and settings
Maximum bitrate was designed so that the bandwidth consumption of a video can be kept below a selected bitrate limit. If the configuration is properly performed, taking realistic limitations into account, both long-term and short-term bandwidth will stay under this limit. Since bit-padding is not applied in Axis cameras, actual bitrates may be far below the limit.
The MBR algorithm reacts quickly to scene changes in order to limit bitrate spikes as much as possible. However, as the goal of MBR is to deliver a high-quality stream for software decoders that can accept short-term bitrate spikes, temporary overshoots are allowed as they counteract unnecessary drops in quality.
Note that there is a timescale difference between the bitrate measurement printed in the overlay as compared to the bitrate that the bitrate controller acts on. When these bitrate measurements differ, there might be occasions when frame drops are enforced by the bitrate controller. Since the bitrate controller works with both the long-term bitrate and the instantaneous bitrate, the overlay on its own cannot explain all drops in quality or frame rate.
For low-complexity scenes the bitrate will be low. For very low complexity, the bitrate may actually be far below the selected bitrate limit. If the complexity increases to a certain degree, the visual quality will be degraded. Short-term overshoots will be very limited.
For high-complexity scenes the visual quality will be degraded, and the frame rate decreased if required. Frequent changes in the scene may lead to several small (in amplitude and time) overshoots, and frame drops will be used to ensure a minimal spike on the bitrate.
Parameters that influence MBR:
The compression level sets the best quality possible for the video. A lower compression level will provide higher visual quality, but also a higher possible bitrate. Higher compression will provide a lower bitrate, but also lower video quality, and the bitrate may be lower than the target bitrate.
The target bitrate sets the target to achieve as maximum (in kbit/s).
The GOP length configures the length of the Group of Pictures (GOP) used for the video. A shorter GOP length leads to more frequent I-frames, which means a higher bitrate. A higher GOP length value will result in fewer I-frames, which means a lower bitrate. If the GOP length is too high, the search function in recorded video will be more complicated, as it needs to refer to an I-frame to render the following P-frames of the video. Also, in case of data loss, visual artifacts will remain, as only the I-frames are fully updated.
The priority sets the priority of the bitrate controller to none, quality, or frame rate. This re-configures some internal parameters in the bitrate controller. The quality option will lead to the best visual quality at any time, most likely at the expense of the frame rate. The frame rate option may lead to a lower visual quality while the frame rate is prioritized.
Video settings with impact on the bitrate
The table below shows the parameters and options that can be changed to influence the bitrate of a video.
1. Codec | In the VMS, select video encoder H.264 or H.265 (or MJPEG). |
Enable Zipstream Configure Zipstream strength: Medium Enable Dynamic GOP (if supported by the VMS) Enable Dynamic FPS (if supported by the VMS) | |
2. Video resolution | In the VMS, select video resolution |
High Definition (720p) | |
Full High Definition (1080p) | |
4K or higher | |
3. Frame rate | In the VMS, select frame rate (frames per second) |
4. Compression level | 25: higher quality than Axis standard |
30: Axis standard compression | |
35: lower quality than Axis standard | |
5. Bitrate controller mode | ABR (including MBR limit if needed) |
MBR | |
VBR | |
6. GOP length | Defines the number of P-frames between each I-frame. A longer GOP saves more storage but makes random access more time-consuming. |
7. Image parameters | Configure image settings that influence the bitrate: WDR, Local contrast, Tone mapping, EIS, Saturation, Sharpness, Contrast, etc. |
8. Night-mode parameters | Adjust night-mode parameters to reduce noise at night: Max shutter, Max gain, ... Products with Lightfinder 2 can adjust noise reduction: Temporal noise filter, Spatial noise filter. |
9. Scene light/view | Add light at night, or recompose the scene by zooming or moving the camera to avoid unnecessarily complex objects in the video. Use privacy masks to cover areas of movement or of no interest. |
Bitrate control comparison
The table shown here summarizes the bitrate control methods regarding their impact on video quality and storage needs, as well as configuration needs, maintenance needs, and whether or not they provide notifications.
Method | Storage | Quality | Configuration needs | Maintenance needs | Automatic notifications |
VBR | - | +++ | None | Storage monitoring, can be automated | From storage |
MBR | + | Unpredictable | Low | Image quality, manual task | Not available |
CBR | + | Unpredictable | Low | Image quality, manual task | Not available |
ABR | ++ | ++ | Medium | Bitrate degradation, can be alerted | Bitrate degradation |
ABR + MBR | ++ (+++) | ++ | Medium | Unpredictable | Bitrate degradation |
If storage, network, and the VMS all have unlimited capacity, VBR will provide the best video quality. In a system with capacity limits, the video quality can remain high with a carefully selected compression level and MBR with a high bitrate limit. In most cases, however, ABR configured with an MBR limit is probably the best choice. This combination can keep optimal video quality even in changing scene conditions, and if the MBR limit is high enough, any bitrate degradation will be notified.
Appendix 1: Constant bitrate (CBR)
The bitrate control method CBR aims to keep the bitrate from an encoder’s output constant. Since it will be constantly consumed at the same rate, the bitrate does not evolve over time and it needs to stay fixed at the target, whatever happens in the video. CBR is useful for streaming multimedia content on fixed capacity channels, such as rotating media. It was designed for the consumer video industry to ensure continuous playback.
CBR is not optimal for storage because it may contain padding data and waste storage space that does not benefit the video quality. If the video is not complex enough to sustain the target bitrate, the encoder can fill up the unused space by performing bit padding, that is, filling the stream with empty bits that have no impact on the video.
CBR can lead to large, short-term variations in quality while the bitrate controller adapts the parameters to the new scene.
For low-complexity scenes, the bitrate will remain at the target bitrate with the help of bit padding. If the complexity increases to a certain degree, the visual quality will be degraded. Short-term overshoots will be very limited.
For high-complexity scenes the visual quality will be degraded, and the frame rate will decrease if required. Frequent changes in the scene may lead to several overshoots (large in amplitude but small in time), and frame drops will be used to ensure a minimal spike on the bitrate.
Parameters that influence CBR:
The compression level sets the best quality possible for the video. A lower compression level will provide higher visual quality but also a higher possible bitrate. Higher compression will provide a lower bitrate but also lower video quality.
The target bitrate sets the target to achieve (in kbit/s).
The GOP length configures the length of the Group of Pictures (GOP) used for the video. A shorter GOP length leads to more frequent I-frames, which means a higher bitrate. A higher GOP length value will result in fewer I-frames, which means a lower bitrate. If the GOP length is too high, the search function in recorded video will be more complicated as it needs to refer to an I-frame to render the following P-frames of the video. Also, in case of data loss, visual artifacts will remain as only the I-frames are fully updated.
The priority sets the priority of the bitrate controller to none, quality, or frame rate. This re-configures some internal parameters in the bitrate controller. The quality option will lead to the best visual quality at any time, most likely at the expense of the frame rate. The frame rate option may lead to a lower visual quality while the frame rate is prioritized.
Axis products do not use CBR, since bit padding is never done. MBR is the available method that most closely resembles CBR, but without the unnecessary storing of empty bits. With MBR, the bitrate might instead drop below the target in low-complexity scenes.