how to capture video from webcam in MJPG opencv
Sophia Terry
I have bought the two of Genius facecam 1000x camera and trying to set up a stereo camera, the v4l2-ctl outputs for cameras are as follow:
ioctl: VIDIOC_ENUM_FMT Index : 0 Type : Video Capture Pixel Format: 'YUYV' Name : YUYV 4:2:2 Index : 1 Type : Video Capture Pixel Format: 'MJPG' (compressed) Name : Motion-JPEGAs you can see the pixel format MJPG is supported and from this and this this pixel format is needed, but when I try to capture video from both webcams the VIDIOC_STREAMON: No space left on device error still happening for the second camera, I can only get stereo video at 320x240 resolution!
I tried the following two but does not work for me.
v4l2-ctl --set-fmt-video=width=640,height=480,pixelformat=1Setting the
FOURCCto MJPG causes theHIGHGUI ERROR: V4L: Property <unknown property string>(6) not supported by deviceerror.# setting the `FOURCC` will cause the # `HIGHGUI ERROR: V4L: Property <unknown property string>(6) not supported by device` for p in ports: self.caps.append(cv2.VideoCapture(p)) self.caps[-1].set(cv2.cv.CV_CAP_PROP_FOURCC('M','J','P','G'));
What should I do to get it right at relatively OK resolution?
P.S: All of my USB ports are connected to a single controller!
1 Answer
Have you tried building OpenCV from source with -D WITH_V4L=ON and -D WITH_LIBV4L=ON?