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