如何在MJPG opencv中捕获网络摄像头的视频

时间:2016-10-15 14:54:31

标签: python linux opencv video stereoscopy

我买了两个Genius facecam 1000x相机并尝试设置立体相机,相机的v4l2-ctl输出如下:

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-JPEG

正如您所看到的那样,支持像素格式MJPG,需要thisthis这种像素格式,但当我尝试从两个网络摄像头捕获视频时,VIDIOC_STREAMON: No space left on device错误仍然存​​在发生在第二台相机上,我只能以320x240分辨率获得立体视频! 我尝试了以下两个,但对我不起作用:

  1. v4l2-ctl --set-fmt-video=width=640,height=480,pixelformat=1 
    
  2. FOURCC设置为MJPG会导致以下错误:

    HIGHGUI ERROR: V4L: Property <unknown property string>(6) not supported by device
    
    # 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'));
    
  3. 我应该怎样做才能在相对好的分辨率下做到正确?

    P.S:我的所有USB端口都连接到一个控制器!

0 个答案:

没有答案