Hello. Is it possible to record framebuffer on imx.6 via gstreamer ?
I've tried to use multifilesrc, but something went wrong.
For test I used command:
while [ true ] ; echo `date` > /dev/tty0 ; sleep 1s ; done &
------------------------------------------------------------
with ffmpeg all is OK: https://youtu.be/1iiEpE35aDY
cmd:
ffmpeg -f fbdev -i /dev/fb0 output.avi
output: https://pastebin.com/0e6MkiiF
------------------------------------------------------------
but with gstreamer-1.0 I can't record it normally:
25FPS: https://youtu.be/Ba8vaqyNc40 (too fast)
cmd:
gst-launch-1.0 -v multifilesrc location=/dev/fb0 \
! videoparse format=bgra width=1280 height=720 framerate=25 \
! avimux ! filesink location=gst25.avi
output: https://pastebin.com/wPDdhaQe
------------------------------------------------------------
4.3FPS: https://youtu.be/cLXtM9YAurE (too slow and some frames were missed)
cmd:
gst-launch-1.0 -v multifilesrc location=/dev/fb0 \
! videoparse format=bgra width=1280 height=720 framerate=17/4 \
! avimux ! filesink location=gst4.3.avi
output: https://pastebin.com/ma91jgGT
I've tried gst v1.14.5 and v1.16.2, both have the same result.
In that time on PC x86_64 it works fine, so the problem with gstreamer+imx6.
What I'm doing wrong?
Has somebody success with framebuffer recording on imx ?
Thanks!
The same result with X11:
gst-launch-1.0 ximagesrc use-damage=0 ! videoconvert ! avimux ! filesink location=out.avi
gstreamer+x11+imx (bad, too fast playback) - YouTube
Has anybody idea, why value of setted FPS affects the playback speed of the result file?
Ok, seems like this is correct pipeline to record X11 on imx6:
gst-launch-1.0 ximagesrc use-damage=0 \
! queue ! imxipuvideotransform ! imxvpuenc_h264 \
! h264parse ! matroskamux ! filesink location="test.mkv"