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