Changing bitrate of vpuenc_h264 dynamically, without recreating element

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Changing bitrate of vpuenc_h264 dynamically, without recreating element

571 Views
vincentz63
Contributor IV

I'm using GStreamer to to build an RTSP server streaming live video from the i.MX8MMini.

My pipeline looks like this:

v4l2src ! vpuenc_h264 name=the_encoder quant=51 bitrate=30000 gop-size=30 ! queue ! h264parse ! video/x-h264,stream-format=byte-stream ! rtph264pay name=pay0 pt=96

I need to change the bitrate of the vpuenc_h264 element whilst the pipeline is running or at least without recreating it.

I have tried setting the bitrate property of the element, but whilst this does not produce any error, it seems to be ignored.

g_object_set(the_encoder, "bitrate", profile.v_enc_cfg->Configuration.RateControl.BitrateLimit, NULL);

Is there a way to change the bitrate of the encoder whilst the element is running?

0 Kudos
1 Reply

560 Views
vincentz63
Contributor IV

For anyone coming to this topic, the answer is that you can update bitrate on-the-fly, without recreating the encoder. This is not possible with the other properties of the element, but has been implemented for bitrate.

JP

0 Kudos