我正在尝试使用ubuntu 18.04.1 LTS
在python
中的opencv
上使用5个USB摄像机。
它们各自都可以正常工作,但是当我将它们连接在一起时,会发生以下情况:
大多数所有摄像机都在启动时被成功检测到,并在lsusb
和ls /dev/video*
中列出,但是当我尝试通过python中的代码使用它们时,这5个摄像机之一就消失了并显示诸如VIDEOIO ERROR: V4L: index 0 is not correct!
之类的错误。然后,ls /dev/video*
不会显示该摄像机或摄像机名称,例如video0
会自动更改为video6
。我知道是否重新启动PC会更改设备名称,但是在这种情况下,我不会重新启动。
有时会同时在lsusb
和ls /dev/video*
中加入摄像机,但会出现在使用select timeout
时出现的情况。
如果您需要更多信息,请告诉我。
答案 0 :(得分:0)
1。首先尝试显示来自所有带有ffmpeg(或ffplay)的摄像机的视频流:https://trac.ffmpeg.org/wiki/Capture/Webcam#Linux 或搭配gstreamer。 2. OpenCV可以使用任何后端(ifit都兼容)从网络摄像头捕获视频:https://docs.opencv.org/3.4/d4/d15/group__videoio__flags__base.html#ga023786be1ee68a9105bf2e48c700294d
例如:cv.CAP_V4L2,cv.CAP_GSTREAMER,cv.CAP_FFMPEG等