I am utilizing both the omxh264enc & omxh265enc gstreamer video plugins for the tegra x1.
Both label bitrate as the following under gst-inspect:
bitrate : Target bitrate flags: readable, writable, changeable in NULL, READY, PAUSED or PLAYING state Unsigned Integer. Range: 0 - 4294967295 Default: 4000000
And both seem to share the same gstomxvideoenc.c file for setting the bitrate.
As the description states, the value should modifiable during any state including ‘PLAYING’.
The omxh264enc plugin seems to be able to change the bitrate while playing without any issue via a simple g_object_set() command like below:
g_object_set( G_OBJECT((encoder), "bitrate", 10000000, NULL) ;
After running that command my resulting streams’ bitrate does indeed change to the new value.
But running the exact same command using the omxh265enc plugin doesn’t work (output stream stays at the old bitrate).
Is this a known issue or does something else have to be done to force the change? I can read back the value of ‘bitrate’ via g_object_get() after setting it and it returns the new value. So I know the g_object_set command is taking effect on the bitrate variable, the actual hardware encoder just doesn’t seem to be reacting to this variable value change.
Thanks in advance for any insight.