我试图在一个码头容器中运行uv4l。这是对u4vl项目的简短描述:
跨平台,用于真实或虚拟视频输入和输出设备的用户空间驱动程序(与内核驱动程序完全没有外部区别)和其他可插拔后端或前端。
因此,在docker容器中,u4vl将尝试注册用户空间驱动程序。在我的例子中,把Raspberry Pi相机暴露为/dev/video0。
当我运行命令时:
uv4l --auto-video_nr --driver raspicam --width 1080 --height 720 --encoding mjpeg --server-option '--port=9000'
我收到一条消息,上面写着<notice> [core] Registering device node /dev/video0,但是当我尝试做ls /dev时,没有/dev/video0设备。
我使用--privileged命令中的docker run标志以特权模式运行容器。
为了“允许”它创建一个用户空间驱动程序和新设备,在容器中还有什么需要做的吗?
我绝不是Linux专家,所以如果我的术语/理解有点错误,请原谅我。
发布于 2017-05-15 23:01:32
我只是在做这件事,我用跑步的方式让它和里胡特萨一起工作
docker run -it --device=/dev/bus/usb/`lsusb | grep Ricoh|awk {'print $2'}`/`lsusb | grep Ricoh|awk {'print $4'}|sed 's/:$//'` -p 8080:8080 --cap-add=ALL --privileged -v /lib/modules:/lib/modules -v=/dev:/dev -e UV4L_PARAMETERS="-k -f --sched-rr --mem-lock --driver uvc --device-id 05ca:2711 --auto-video_nr" daniego/rover-uv4l也许你只需要绘制设备的地图。我将在下个月对raspicam进行研究,但是您可能会通过查看我的工作https://github.com/daniego/rover-uv4l和https://hub.docker.com/r/daniego/rover-uv4l/来找到一种使它工作的方法。
发布于 2016-12-13 10:24:58
您是在容器内部运行此命令还是在容器外部运行此命令?在--privileged模式下运行容器只会公开容器内的主机设备节点,而不能在容器中新建节点。如果您在外部运行命令,然后使用标志运行容器,您应该能够看到新的设备节点。
https://stackoverflow.com/questions/41118318
复制相似问题