【发布时间】:2017-06-30 18:02:41
【问题描述】:
我正在尝试将 Docker 用于我们的一个项目,该项目使用 OpenCV 来处理网络摄像头馈送 (Python)。但我似乎无法访问 docker 中的网络摄像头,这是我用来测试网络摄像头访问的代码:
python -c "import cv2;print(cv2.VideoCapture(0).isOpened())"
这是我迄今为止尝试过的,
docker run --device=/dev/video0 -it rec bash
docker run --privileged --device=/dev/video0 -it rec bash
sudo docker run --privileged --device=/dev/video0:/dev/video0 -it rec bash
所有这些都返回False,我做错了什么?
【问题讨论】:
-
我认为不能保证
cv2.VideoCapture(0)实际上是/dev/video0。你试过video1之类的吗?这是哪个 Linux? -
@karlphillip 是的,我试过那些和它的 Ubuntu 16.04。
-
我知道这可能是隐含的...但是
/dev/video0真的知道在主机上工作吗?是否已经用 VLC (vlc v4l2:///dev/video0) 之类的东西进行了测试?我知道这也可能无关紧要,但为了完整起见,提及所涉及内容的版本以及可能用于构建rec图像的Dockerfile是谨慎的。 -
@AndyShinn 我试过在主机上运行它,它没有任何问题。并且docker镜像是基于github.com/ageitgey/face_recognition#face-recognition