regard to webrtcsink

Florian Echtler floe at
Wed Feb 8 15:33:27 UTC 2023

On 08.02.23 08:22, Daniel E via gstreamer-devel wrote:
> I’m testing „webrtcsink“ on a Raspberry PI. The Gstreamer stack offers 
> „openh264enc“ and „v4l2h264enc“. In my previous scripts I was using „webrtcbin“ 
> with the latter encoder.   I could add „openh264“ support to „webrtcsink“ so far 
> but was not able to make use of „v4l2h264enc“. There are no direct properties to 
> get/set „bitrate“ with this encoder. What would be necessary to support it? Are 
> there means to select a particular encoder, e.g. by use of „video-props“? It is 
> of high value to support „v4l2h264enc“ because of the hardware acceleration.

Setting the parameters for v4lh264enc is admittedly a bit obscure.

Here's an excerpt from my pipeline using the HW encoder: 
"video/x-raw,format=I420 ! queue ! v4l2h264enc 
extra-controls="controls,video_bitrate=1500000,video_bitrate_mode=1" ! 
video/x-h264,profile=constrained-baseline,level=(string)3.1 ! queue ! h264parse"

Note the extra-controls parameter, which is a string containing extra V4L2 
parameters. On a Raspberry Pi with default installation, you can view the 
available parameters with "v4l2-ctl -L -d /dev/video11". You also usually need 
to request a specific H.264 profile and level in the downstream caps, otherwise 
the encoder won't initialize properly.

Hope this helps!

Best, Florian

-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 203 bytes
Desc: OpenPGP digital signature
URL: <>

More information about the gstreamer-devel mailing list