Gstreamer 720x576 frame 200ms transmitting problem

Hi. We want to get frames from a v4l2src camera source. we do not use any udpsink. Only that we want to get frames and process them using OpenCV but when receiving frames with 720x576 shape, the delay is 200ms. the question is why the delay is so high? we have tried a bunch of things that did not fix the issue. we are sharing our pipeline below:

gst-launch-1.0 v4l2src device=/dev/video8 io-mod=mmap ! video/x-raw, format=I420, width=1920, height=1080, framerate=25/1 ! videoscale ! video/x-raw, format=I420, width = 720, height=576, framerate=25/1 ! videoconvert ! video/x-raw, format=BGR ! appsink emit-signals=true sync=false

with the above pipeline the delay is high. when we remove videoscaling and get the video with 720x576 shape, it does fine but in that case, if we unplug the camera cable and then plug it again, we are not able to get frames properly. a lot of frames are being dropped and it is 1 frames per second after the cable is plugged in.

Second question is that if we want to use the pipeline below, the frame rate, even the camera is able to provide 25fps, we only get 1 fps barely.

gst-launch-1.0 v4l2src device=/dev/video io-mode = mmap ! video/x-raw, format=NV12, width=1920, height=1080, framerate=25/1 ! nvvidconv ! nvv4l2h265enc bitrate=5000000 ! h265parse ! avdec_h265 ! xvimagesink sync=false

The latency may be from the camera source. You may set up the test environment like this:
Gstreamer TCPserversink 2-3 seconds latency - #5 by DaneLLL

And compare with videotestsrc

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.