Change nvv4l2h264enc bitrate below 4Mbps


I’ve been testing the following pipeline:

CAPS="video/x-raw, width=1920, height=1080"
gst-launch-1.0 videotestsrc ! $CAPS ! nvvideoconvert ! nvv4l2h264enc iframeinterval=1 bitrate=$BITRATE ! perf  ! fakesink

And monitoring the resulting bitrate with our perf element:

When changing the bitrate property in nvv4l2h264enc it works correctly as long as the value is larger than 4Mbps, if testing values smaller than this the bitrate doesn’t change.

Is there a reason for this capped bitrate or a way to get it lower?

Please set qp-range and check again.

qp-range            : Qunatization range for P, I and B frame,
                     Use string with values of Qunatization Range
                     in MinQpP-MaxQpP:MinQpI-MaxQpI:MinQpB-MaxQpB order, to set the property.
                    flags: readable, writable
                    String. Default: null

We have seen lowest bitrate at 1.5Mbps in default iframeinterval:
Because size of I frames are larger then P/B frames, you might see it higher than 1.5Mbps in iframeinterval=1.