使用fswebcam报错Error selecting input 0 VIDIOC_S_INPUT: Device or resource busy或者使用metion监控,画面为灰色

一,BUG解决
不知道大家使用树莓派的时候,有没有遇到过使用fswebcam报错Error selecting input 0 VIDIOC_S_INPUT: Device or resource busy或者使用metion监控,画面为灰色

这通常是因为有程序·在树莓派自启动的时候就运行了,并且还调用了摄像头,同一个设备不能同时调用两次,所以就出现了以上的这两种情况。

解决办法:
进入/home/pi/.config/autostart目录下,看看是否有文件,里面的文件就是自启动程序,为确保万无一失,你可以打开看看

例如文件是my.desktop

编辑文件命令
sudo nano .config/autostart/my.desktop

如下图就是自启动程序,我们需要把这样的文件删除,不让树莓派已启动就调用摄像头
rm my.desktop

在这里插入图片描述
然后重启树莓派
reboot

开机以后就能正常运行
fswebcam /dev/video0 image.jpg
这样你会发现图片是黑色的
在这里插入图片描述
那使用参数进行修改
fswebcam -S 10 image.jpg
在这里插入图片描述

如果你找不到你的图片存储在哪个路径了,可以看看你执行这个命令的是在哪里
如下图:
在这里插入图片描述
如果还是找不到路径,你可以使用命令查看图片
gpicview image.jpg

二,motion使用
安装:
1、安装motion
sudo apt-get install motion

2、配置motion
2.1
sudo nano /etc/default/motion

将里面的no修改成yes,让motion可以一直在后台运行:start_motion_daemon=yes

2.2
sudo nano /etc/motion/motion.conf
修改配置文件,这个文件比较长,请确保一下参数的配置。在nano编辑器下,可以使用w快速查找到如下配置内容。也可以使用v向下翻页。
将daemon修改为on
修改stream_localhost off
修改framerate 100
修改auto_brightness on
minimum_motion_frames 100
stream_maxrate 100

3、关闭motion
sudo killall -TERM motion
或者
sudo service motion stop

4、显示
8081页面无法显示
在8081端口,无法显示数据,但是在8080端口可以看到motion的信息。
解决方法:
这可能是摄像头没有被识别,可以将摄像头拔下重新插入。或者摄像头不兼容导致,树莓派4B+,我用了三种摄像头,只有双飞燕摄像头没有出现兼容问题,如下图展示:
请添加图片描述

请添加图片描述
上面这两种摄像头都出现了不兼容问题,只有下面这款摄像头没有兼容问题
在这里插入图片描述

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值