Question
What parameters to set in BVMS on a new Stream Quality profile?
Answer
With the image encoding interval you configure the interval at which images are encoded and transmitted.
If 1 is entered, all images are encoded.
Entering 4 means that only every fourth image is encoded, the following three images are skipped → this can be particularly advantageous with low bandwidths.
ℹ️ The lower bandwidth the higher this value should be to achieve best-quality video.
The encoding engine gets for example 30 frames from the Sensor as input. Required output for the live view or recording is 15 frames.
How to achieve this?
Set the parameter Image encoding interval to 2. The Encoder will skip every second frame from the sensor and deliver a H.264 encoded stream with 15 frames only.
This is a very important topic because participants tend to provide the required frame rate as value of the parameter Image encoding interval and that results into 2 fps in our example.
Other VMS and camera vendors do have a configuration parameter called fps or ips.
Image encoding interval:
1= full frame rate as given in Codec settings
2= 50% of fps given in Codec settings
For quick frame rate calculations the formula is: FPS / IPS = 30/Image encoding interval
For 60 fps cameras -> calculate with 60
Example: We want to receive only 15 fps for recording:
Encoding chip fps/ ips input: 30 fps (not H.264 yet, RAW format)
Encoding chip output (Image encoding interval =2): 15 fps/ips
in H.264 coded format used for recording of this camera
Example with Image encoding interval = 2:
1.Check the Camera “Sensor Mode” (FPS) in the Camera settings (Initialization)
2.Take the “Image encoding interval” form the BVMS Stream Quality settings
3.Calculate: “Sensor mode FPS” divided by “Image encoding interval value” = Stream frame rate
Group-of-Pictures (GOP): Depending on whether you place higher priority on having the lowest possible delay (IP frames only) or using as little bandwidth as possible, you choose IP, IBP or IBBP.
I-Frame = Intra frame the full image is encoded
P-Frame = Predictive frame only the part of the image that is changing is encoded
B-Frame = Bi-Directional frame only the differences between previous and next frame are encoded
B-Frames
reduce bandwidth and storage usage as they are smaller in size than P-Frames (predictive frames).
have references to previous (frames generated before the B-Frame) and to following frames (frames which will be generated after the B-Frame)
B-Frame impact on Live stream:
A bit of latency can appear as B-Frames can use both previous and forward (future) frames for reference
For latency critical scenes the “IP” GOP structure should be configured
When configuring a very low frame rate e.g. 5 fps use the “IP” GOP structure only to reduce latency
B-Frame impact on playback:
Saves bandwidth and storage space.
Since decoding latency is not important in the replay, there is no big impact on forward playback.
B-Frame impact on DSP
B-Frame adds more load on the DSP of the camera, as it has to reference the previous frame and the next future frame.
ℹ️ Note: GOP selection is not available on some cameras.
B-frames are only supported by cameras up to a resolution of 1080 p and from firmware 6.40
I-frame Distance: This parameter allows you to set the intervals in which the I-Frames are coded.
An entry of 1 indicates that I-Frames are continuously generated
An entry of 2 second image is an I-Frame and 3 only every third image etc.
The I-Frames in between are coded as P-Frames
Frame Quality Level: Here you can set a value between 0 and 100 for both the I-Frame and the P-Frames.
The lowest value results in the highest quality and the lowest frame refresh rate
The highest value results in the highest frame refresh rate and the lowest image quality
The lower the available transmission bandwidth, the higher adjust the quality level to maintain high quality of the video
✔️ It is recommended to check the IPS result on the camera web page “dashboard” after configuration has been activated in BVMS (new CPP13/14 cameras do FPS base frame rate balancing dependent on settings and camera resource. Therefore, the FPS can be lower as expected when not checking/ verifying).
GOP: B frames should be avoided in Live view and PTZ as they result into live video latency
Camera firmware features supported in BVMS ≥ v9.0
BVMS ≥ v9.0 supports the following camera parameters which are relevant for a lot of bitrate saving on H.264 and H.265 codec:
Group of pictures (GOP) related:
‒ GOP structure B-frames: IBP and IBBP
‒ Long GOP: up to 255
Intelligent streaming related:
‒Bitrate optimization: Maximum quality, High quality, Medium, Low bit rate, Minimum bit rate, OFF
‒Averaging period: fixed setting to 24h/1 day
‒Maximum bitrate: new recommended values available in default BVMS profiles
‒Target bitrate: new recommended values available in default BVMS profiles
Stream Qualities
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.
Averaging period is set to 24h/1day by default and is not visible in the configuration user interface of BVMS (as the value is fixed and can not be changed).
Maximum bit rate defines the highest allowed bitrate.
Target bit rate defines the average bitrate assuming the “Averaging period” parameter is set.
Note:
Related to network bandwidth and storage calculation you have to consider additional optional Kbps on top of the (Maximum/target) video bitrate described above: Metadata for IVA or Motion+: ~150 Kbps per Stream; Audio: ~150 Kbps (G.711) or 640 Kbps (L16)
If you want to learn more about BVMS - Policy based recording, Intelligent streaming, Camera capabilities and platforms or Stream Management, please check out this article.
Other useful articles:
How to create a new Stream profile with own parameters in BVMS?
Which is the recommended I-Frame distance when using 3rd party Software or Bosch-VSG?
How to setup RTSP-Multicast by use of SDP file?
Where can you find/ change the frame rate & Firmware settings of Bosch cameras?
... View more