Hello!
I have implemented a mono sensor on i.MX 8M Mini platform and can stream via gstreamer like this.
gst-launch-1.0 v4l2src device=/dev/video0 ! "video/x-raw,format=GRAY8,width=1920,height=1080" ! videoconvert ! fpsdisplaysink text-overlay=true video-sink=autovideosink sync=false
However, I can only get 3 fps. Is there any method available to speed this up (hardware acceleration, etc.)
With v4l2-ctl I am able to stream much larger values.
I would also need this kind of acceleration for GRAY16_BE format.
why I ask you to change to the v4l2, because gstreamer didn't show the real performance, as I known, fpsdisplaysink text-overlay=true would cause frame rate drop, otherwise you can test by " fpsdisplaysink "sync=false" "text-overlay=false"", you should get higher frame rate, this plugin is opensource, if you need test the frame rate, I suggest that you can use v4l2, if you insist on using gstreamer, try to change other sink plugin
I can stream with:
gst-launch-1.0 -v v4l2src device=/dev/video0 ! "video/x-raw,format=GRAY8,width=1920,height=1080,framerate=90/1" ! fpsdisplaysink text-overlay=false vi
deo-sink=fakesink sync=false signal-fps-measurements=true
and get a full frame rate (the same as with v4l2-ctl). With waylanandsink and videotestscr
one can stream max to 60fps like this:
gst-launch-1.0 -v videotestsrc ! video/x-raw,format=YUY2,framerate=70/1,width=1280,height=720 ! queue ! fpsdisplaysink sync=false video-sink="waylandsink sync=false" signal-fps-measurements=true text-overlay=false fps-update-interval=10000
The problem seems to be that videoconvert is taking too much time in
gst-launch-1.0 -v v4l2src device=/dev/video0 ! "video/x-raw,format=GRAY8,width=1920,height=1080,framerate=90/1" ! videoconvert ! fpsdisplaysink text-overlay=false video-sink="waylandsink sync=false" sync=false signal-fps-measurements=true
Could videoconvert be replaced with https://github.com/Freescale/gstreamer-imx/blob/master/README.md imxvideoconvert (or some other plugin) that uses gpu accelration to achive max fps with visualization? Is there a source code available for implementing this kind of operation using g2d api (https://github.com/nxp-imx/g2d-samples)? (or some other way to achive this?)
Thanks!
you can test imxvideoconvert_g2d, the command like
gst-launch-1.0 v4l2src device=/dev/videox ! video/x-raw,format=xx ,width=xx,height=xx ! queue ! imxvideoconvert_g2d ! waylandsink window-width=xx window-height=xx--no-position