视频错误:V4L:无法通过索引 0 打开相机

视频错误:V4L:无法通过索引 0 打开相机

在 Intel NUC 上,我已加载 Ubuntu 16.04。我已通过更改禁用桌面模块/etc/default/grub。机器以文本模式启动。我有一个使用 Opencv ( Opencv4.0.0 is currently installed) 和imutils库以及网络摄像头的 Python 程序。我创建了名为的 bash 脚本runBot.sh来运行 Python 程序。bash 脚本包含以下内容:

#!/bin/bash
python3 /home/mycomp/rfd/liveCamObject.py

当我在终端窗口中运行它时

sh runBot.sh

它运行没有问题。但是我试图在重启时运行该程序,因此我设置了一个 cron 作业,如下所示:

@reboot /home/mycomp/runBot.sh

sh文件和.py文件都具有sudorwx权限。

当我重新启动机器时,启动时出现以下错误:

error: no video mode activated

几秒钟后,它正常启动并等待登录名和密码。重启时触发了 bash 脚本,但抛出了错误:

VIDEOIO ERROR:V4L: can't open camera by index 0.

由于 runBot.sh 从终端运行,而不是通过 crontab 运行,我尝试将所有权从 更改mycomp:mycomproot:mycomp,但没有帮助。我读到提供

sudo modprobe bcm2835-v4l2

我尝试了各种组合v4_l_2, V4_L_2等等...我总是收到错误

FATAL: Module `bcm2835-v4l2` not found in directory `/lib/modules/4.15.0-43-generic`

如何在启动时启用摄像头?

答案1

这可能会有所帮助:(见https://forums.zoneminder.com/viewtopic.php?t=23361
执行下一步:

sudo v4l2-ctl --list-devices

sudo chmod 777 /dev/video0

对于每个设备

你似乎chmod在重启后重复了

相关内容