Alarm recording and continuous recording set in BVMS increase the storage consumption.
Video surveillance cameras generate more data as a result of higher resolutions and frame-rates.
This has a direct impact on the storage costs of the entire video surveillance environment.
The storage consumption can be reduced to use alarm recording instead of continuous recording. This means the system will only start the recording when an alarm is generated (for example, when motion is detected).
However, in some projects continuous recording is still required.
This article describes how the Bosch Video Management System can be used to combine the best of alarm recording and continuous recording, and as a result further decrease the storage consumption when continuous recording is required.
Adaptive streaming is a functionality which combines the Intelligent Streaming and Quad Streaming of the Bosch cameras with the stream management functionality in BVMS.
Storage consumption is related to the bandwidth (data) generated by a camera. There are several settings which will influence the bandwidth generated by the camera, including the (most known) frame-rate and resolution. However, Bosch cameras are equipped with Intelligent Streaming, which allows the camera to automatically adjust advanced encoding settings based on the content of the scene.
Intelligent Streaming is defined by four parameters.
Bitrate optimization: „refers to the priority given towards image quality or bitrate reduction. The “High quality” or “Maximum quality” provides less or no bitrate saving, but a good to excellent picture. “Low bitrate” and “Medium bitrate” save more bandwidth, but the resulting image may provide less details.
Maximum bitrate: defines the highest allowed bitrate.
Target bitrate: „defines the average bitrate assuming the “Averaging period” parameter is set.
Averaging period: the task of Intelligent Streaming is to keep the average bitrate during the averaging period at the level of configured target bitrate. When there is less movement in the scene the camera will use much less bandwidth than the configured target bitrate. For scenes with a lot of movement it will utilize more bandwidth but never more than configured maximum bitrate. If there is more movement than could be averaged, into the target bitrate, Intelligent Streaming will slightly reduce image quality to keep the average target bitrate over the averaging period.
As a result, Intelligent streaming does not only reduce the bandwidth, it also allows the system administrators to improve the prediction on the amount of storage that is consumed by the video surveillance system.
The image below shows the existing situation, with bitrate optimization and averaging disabled. Between 8am and 4pm the quality of the stream might be reduced due to the cut-off at the maximum bitrate.
The image below shows the situation with bitrate optimization and averaging set.
In order of size, a group of pictures can consist out of three different types of frames:
I-frame: I-frames (intra frame) is a complete picture.
P-frame: P-frames (predictive frames) reduce bandwidth and storage usage as they are smaller in size than I-frames. P-frames use data from previous frames and only contain the changes compared to the leading I-frame.
B-frame: „B-Frames (bi-directional predictive frames) reduce bandwidth and storage usage as they are smaller in size than P-Frames (predictive frames). „B-Frames have references to previous (frames generated before the B-Frame) and to following frames (frames which will be generated after the B-Frame)
Image source: Wikipedia - Video compression picture types
A group of pictures (GOP) starts with an I-frame (Inter-frame) and ends before the next I-frame comes. The I-frame distance shows how many frames the GOP is made of. For example, an I-frame distance of 10 means that the GOP consists out of 1 I-frame and 9 B or P frames.
From BVMS 9.0 onwards, IP, IBP and IBBP structures can be configured (depending on the camera capabilities).
Transmitting I-frames requires more bandwidth then P or B frames. A large GOP is saving bandwidth and reduces the storage consumption because there are less I-frames generated over a time period (e.g. 1 minute) by the encoder. From BVMS 9.0 onwards, the maximum size of a GOP is 255 frames.
Bosch cameras are able to offer four streams with different capabilities. The capabilities that can be set are a combination of the resolution and the base frame-rate. The exact possible settings depend on the camera model.
Each Bosch camera has different streaming capabilities. There are mentioned in the datasheet of the specific camera, and depend on the performance of the camera.
Bosch video devices are broken up into categories known as Common Product Platforms (CPP). A device’s category is based on several factors to include the Digital Signal Processor (DSP) it is equipped with, and its inherent capabilities.
When selecting firmware to install on a device, the firmware is also categorized by CPP number.
When working in BVMS, you will notice that video devices are further broken down into categories called Device Families.
These Device Family categories make the configuring and management of devices simpler and more effective.
• Device Family 1: This device family is comprised of older H.263 IP cameras and encoders that are categorized as CPP-ENC
• Device Family 2: This family includes SD and HD CPP-3 devices that are H.264 capable. This family also include the VIDEOJET multi 4000 encoder (CPP-5)
• Device Family 3: All CPP-4 and newer devices are members of this family
There are several “key” configurations that are performed in BVMS that are specific to a family type. These family groupings provide you a way to configure SD, HD, MP, UHD, and panoramic cameras simultaneously, even though they all support different resolutions, frame rates, aspect ratios, and compression codecs.
BVMS offers extensive stream management functionality, ranging from (customizable) schedule-based stream management to, specific, situation-based stream management. Although Intelligent Streaming is able to optimize most settings automatically, further savings can be achieved with using the specific stream management settings.
The first step in configuring stream management is to set-up specific schedules. Schedules allow a system to differentiate in recording quality.
By default the system contains three schedules: day; night and weekend. The schedules are based on a seven-day week and exception days (holidays) within a schedule can be created as well.
Additionally events can be created on reoccurring triggers, for example a specific day in the week, month or year.
These settings can be found in the "Schedules" tab of the configuration client.
Below is a simple modified schedule: Day 6AM to 8PM / Night 8PM to 6AM.
Next to schedules, alarms can also be used to trigger changes in the recording quality. The start of alarm recording can be configured within each specific alarm, for multiple cameras. When the alarm is active, the alarm recording settings,
which are further discussed in the next section, will be applied to the selected cameras. This is independent of the configured schedules.
BVMS pushes streaming profiles out to groups of cameras. A streaming profile does not impact the resolution of the stream, but rather influences other parameters (for example the encoding interval and the GOP structure) of the stream.
An encoder or camera can change the settings in the profile on the fly, which makes the profile suitable for adjustments based on the actual situation or schedule.
Configuration out of the box
In order to ease the configuration, BVMS has specific streaming profiles pre-configured. The profiles are built up using the overview in the two tables below.
The scene type and use-case are combined into a profile, which can be selected for each camera, as shown in the image below.
Additionally PTZ optimized, and Cloud optimized profiles are added.
* Bitrate optimization is switched off for CPP4 cameras.
To create and properly modify a new Stream Quality Setting:
1. Select the correct profile:
a. If the new profile will be deployed on cameras using different platforms: open the desired base profile you want to use as a starting point, and select the correct platform.
b. If the new profile will be deployed on cameras using the same platform: open the desired base profile you want to use as a starting point.
2. Select the plus (+) tab under Stream Qualities.
3. This will create a duplicate of the selected profile.
4. Highlighting the new profile allows the renaming of the profile as well as edit access to all sub profiles.
If 1b has been chosen: by selecting the “drop-down” option of the profile, it reveals multiple sub-menus:
• Each sub-menu is associated with a specific camera and any of the different Application Variants that it can be configured in.
• Each sub-menu allows access to stream 1 and 2 of each profile device. This allows for framerate and bitrate modification.
In order to ensure that a system is configured to record at the correct bit rates and framerate, the correct recording settings must be configured. To access the recording settings menu, select the “Edit scheduled recording settings” icon in the toolbar.
The “Scheduled Recording Settings” menu comes with six (6) base recording profiles that can be modified. This menu can manage over fifty different scheduled recording settings.
To create a new scheduled recording setting, select any of the base recording profiles and then select the plus (+) tab at the top of the menu. A copy of the base recording schedule will be made. The newly created copy can be renamed and modified as needed. In this example, the recording profile was renamed “MY SYSTEM”.
Once you have created or selected a recording setting, prior to making modifications, be aware of the device family you are working with.
• Device Family tabs will appear only if an applicable device has been added to the system.
• If working with more than one Device Family, you must modify the recording settings for each family tab if the recording setting is used for all families.
Each family tab also allows you to access the system’s “Recording Schedules”. Each family’s recording profile needs to be modified for each “active” schedule.
The Continuous or Pre-Alarm Recording section of the menu allows the following modifications:
• Recording: On or Off.
• Recording Mode: Continuous or Pre-Alarm.
• Stream: Stream 1, Stream 2, or I-frame only (depending on device capabilities).
• Quality: Select the profile to be used by stream 1 to record.
• Pre-alarm: the pre-alarm time that should be recorded.
• When the pre-alarm time is < 10 seconds: the recording can be buffered within the memory of the camera (even when no SD card is available).
• When the pre-alarm time is > 10 seconds: depending on the camera model and bandwidth, the recording cannot be buffered with the memory of the camera. The camera will continuously record. This will be indicated in the time-line by a "moving" recording block (this is continuously overwritten).
This setting always takes precedence over Stream 1 quality settings.
he Alarm Recording section of the menu allows the following modifications:
• Alarm Recording: This is enabled by default and allows the video to be tagged as alarm recording for any associated configured event in the system.
• Motion Alarm: This is off by default. This must be enabled, if motion alarms from the device are to be tagged as alarm video.
Assigning specific “Scheduled Recording Settings” to devices is performed in the “Cameras and Recording” menu, VRM submenu.
On the far right hand portion of the menu page, there is the “Recording” section:
• Setting: This menu allows you to select the desired recording profile. Example “MY SYSTEM”
• Storage Min: This menu allows you to define the minimum time that recordings will be kept before they are allowed to be overwritten
• Storage Max: This menu allows you to define the maximum time that recordings will be kept before they are released
• Unlimited places the recording into a classic “FIFO” mode, like a DVR