Hi everyone,
I’m facing a performance issue with streaming from an IMX8MPlus camera using GStreamer. Here's what's happening:
gst-launch-1.0 -v v4l2src device=/dev/video2 ! video/x-raw,format=GRAY8,width=1280,height=720,framerate=60/1 ! videoconvert ! fpsdisplaysink video-sink=fakevideosink sync=false
In this case, I’m just testing the FPS, and I get a stable ~106 FPS without any issues. Here's part of the debug log output:
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0/GstFakeVideoSink:fakevideosink0/GstFakeSink:sink: sync = false
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0/GstTextOverlay:fps-display-text-overlay: text = rendered: 56, dropped: 0, current: 110.36, average: 110.36
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 56, dropped: 0, current: 110.36, average: 110.36
gst-launch-1.0 -v v4l2src device=/dev/video2 ! video/x-raw,format=GRAY8,width=1280,height=720,framerate=60/1 ! videoconvert ! fpsdisplaysink text-overlay=true video-sink=autovideosink sync=false
When I try to stream using autovideosink, the FPS drops drastically to ~7 FPS, and the streaming performance is really poor. Here’s the log output:
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0/GstAutoVideoSink:autovideosink0/GstWaylandSink:autovideosink0-actual-sink-wayland: sync = false
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0/GstTextOverlay:fps-display-text-overlay: text = rendered: 5, dropped: 0, current: 9.77, average: 9.77
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 5, dropped: 0, current: 9.77, average: 9.77
Questions:
How can I resolve this FPS drop when using autovideosink for streaming?
Are there any GStreamer pipeline tweaks or configurations that could help improve performance in this case?
Any suggestions would be greatly appreciated!
Thanks!
Hello,
Apparently is the GRAY8 that is not currently default by gstreamer however you can see more pipelines in the following guide:
regards