What parameters to set in BVMS on a new Stream Quality profile?
With the image encoding interval you configure the interval at which images are encoded and transmitted.
ℹ️ 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:
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-Frame impact on Live stream:
B-Frame impact on playback:
B-Frame impact on DSP
B-frames are only supported by cameras up to a resolution of 1080 p and from firmware 6.40I-frame Distance: This parameter allows you to set the intervals in which the I-Frames are coded.
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.
GOP: B frames should be avoided in Live view and PTZ as they result into live video latency
BVMS ≥ v9.0 supports the following camera parameters which are relevant for a lot of bitrate saving on H.264 and H.265 codec:
‒ GOP structure B-frames: IBP and IBBP
‒ Long GOP: up to 255
‒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
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)
Other useful articles: