Я мог бы решить эту проблему, просто используя элемент gstreamer jpegdec
.
gst-launch-1.0 -e -v fdsrc fd=0 ! jpegdec ! autovideosink
Этот пример кода мог бы работать. Однако, если вы хотите использовать этот код с fileink, rtmpsink или некоторым элементом, требующим частоту кадров, вам может потребоваться установить частоту кадров вручную, поскольку jpegde c установит частоту кадров = 0.
gst-launch-1.0 -e -v fdsrc fd=0 ! jpegdec ! videorate ! videoconvert ! \
video/x-raw,framerate=30/1,format=AYUV ! queue ! \
x264enc key-int-max=1 tune=zerolatency ! flvmux ! \
rtmpsink location=rtmp://foo.bar/streamKey