Я сделал разбитые кадры, используя следующий конвейер:
gst-launch-1.0 v4l2src ! filesink location=encode.mjpeg
Каким-то образом gstreamer может воспроизвести его:
gst-launch-1.0 filesrc location=encode.mjpeg ! jpegdec ! videoconvert ! xvimagesink
Однако, поскольку я по ошибке не использовал какой-либо контейнер, поток воспроизводится с очень высокой framerate=(fraction)0/1
. Есть ли способ конвертировать мой битый файл в .avi
или любой другой контейнер без повторного сжатия?
Следующее тривиальное мультиплексирование не сработало, как ожидалось:
gst-launch-1.0 filesrc location=encode.mjpeg \
! 'image/jpeg,framerate=30/1,width=1280,height=720' ! avimux \
! filesink location=encode.avi . -v
Каким-то образом gstreamer проигрывает encode.avi
очень медленно со скоростью ~ 1 FPS, не потребляя значительного процессора. И ни Vlc`, ни Adobe Aftereffects не могут импортировать его - они отображают только правильно декодированный стип первого кадра сверху.