Time difference in showed and actual webcam image
Hi all,
I'm using a Pandaboard ES (ARM) and would like to synchronize a webcam (logitech c920) and a kinect. I want to grab single frames on a keypress and save pcd and jpg to disk. Unfortunately is there a big lag in the webcam image which prevents me from a good result. I would like to know if there is a way to avoid the lag of 2-5 sec of my webcam image (high resolution 2304 x 1536 / YUYV format)? I tried usb_cam, uvc_camera (which is not working properly see this topic) and the gscam package. But unfortunately all of them have a big lag between the showed and the actual image. I know that the frame rate will be low ,which is not a big problem, its more that the data is the wrong one when I want to save it.
Edit 1: I looked for some unwanted queue as tfoote mentioned. The usb_cam package which seems for me to have a queue size of 1 and my subscriber uses queue size of 1, too. Could it be something else or am I wrong with the usb_cam?
Edit 2: I realized that my camera offers MJPEG compression directly on the webcam. This works together with the usb_cam package and I get a much higher frame rate (around 10 fps without paralleled kinect capturing and around 5 with the kinect capturing). The lag now is around 1 second but the resolution is also lower with 1920x1080. My first guess was that the camera has a internal memory which gets filled when the frames are not processed in time. Therefore I lowered the frame rate directly within the v4l2 driver to 5fps. This didn't brought better results also.
Would be great to get your thoughts about this problem?
side note: I get follwoing warning when using MJPEG compression
[swscaler @ 0x1c57aa0] No accelerated colorspace conversion found from yuv422p to rgb24.
which is probably a ffmpeg related and issue and regarding to their forum shouldn't cause big problems. I tried to solve it by installing various versions of ffmpeg without success.