I’m trying to build a pipeline having both nvcudah264enc and x264enc using tee (Gstreamer 1.24.2).
The input is appsrc with GLMemory buffers being outputted from OBS. It’s pretty costy to render a scene and wrap it to Gst, so I would like to keep all encoders for a particular scene in a single pipe.
The problem is the pipe with both encoders gets stuck at “Redistribute latency…” while prerolling (after ~10 buffers) and never transitions into PLAYING state. I’ve inspected some debug logs but couldn’t find anything meaningful.
Funny thing: just swap x264enc to openh264enc and everything plays fine!
You can test it out like this:
DISPLAY=:0 gst-launch-1.0 gltestsrc ! video/x-raw\(memory:GLMemory\),width=1920,height=1080 ! glcolorconvert ! video/x-raw\(memory:GLMemory\),format=NV12 ! tee name=v_input ! queue ! nvautogpuh264enc ! fakesink v_input. ! queue ! gldownload ! queue ! videoconvert ! x264enc ! fakesink
Unfortunately I do need x264enc specifically, for example for interlaced support. I would very much welcome, if you could give me some pointers on how to debug this issue.
Thanks in advance,
Jan