Trouble getting vaapih264enc or msdkh264enc into some kind of low-latency mode.

Erik De Rijcke derijcke.erik at
Fri Dec 10 13:48:21 UTC 2021


I'm having trouble getting the vaapih264enc into 'low latency' mode.
No matter what I do, there seems to be some kind of buffering going on
where the encoder waits for a certain amount of time before outputting
the first frame. I have bframes completely disabled. My pipeline works
just fine using x264enc or nvh264enc but vaapih264enc simply refuses
to work.

Pipeline code is here:
appsrc caps are being set here dynamically:

(After a while of alternating smooth and stuttering video there are
encoding errors, there's also occasional segfaults when the appsrc is
reconfigured and the occasional green frames and whatnot but that's
another thing...)

So basically, is there a set of parameters, or what do I have to do to
make vaapih264enc immediately output a frame instead of it trying to
be smart and buffer stuff? I'm also open to using 'msdkh264enc' but
unfortunately that too seems to be buffering frames internally.


More information about the gstreamer-devel mailing list