Raspi|树莓派接入USB摄像头

使用

连接并测试USB摄像头
查看当前usb设备
lsusb
SSH终端会显示树莓派当前接入的USB设备列表,我们可以先不插摄像头,lsusb,然后插上摄像头lsusb,就可以看到USB摄像头对应的是哪个设备了。
查看设备文件
ls /dev/video*
查找到摄像头,我们可以使用fswebcam命令测试抓图:
apt-get install fswebcam
fswebcam /dev/video0 /usr/share/html/1.jpg
fswebcam最简单的用法,第一个参数是摄像头对应的设备文件路径,第二个参数是保存截图的路径。

fswebcam

如果不满足于抓图,我们还可以看看摄像头的效果。只需要登录VNC,启动树莓派上的终端,使用luvcview即可:
apt-get install luvcview
luvcview -s 384x288

luvcview

motion 传输视频帧

1
2
3
4
5
6
7
8
9
10
11
apt-get install motion
vi /etc/default/motion #把“start_motion_daemon=no”的选项改为yes
vi /etc/motion/motion.conf

daemon on
width 640
height 480
framerate 100
stream_localhost off
stream_maxrate 100
主要把上面这几项修改了

然后启动motion:sudo motion
然后打开浏览器
ip:8081即可访问。

如果要关闭,可以:
sudo killall -TERM motion

使用 motion 和 mjpg 做视频监控器

思考🤔

低效率的记录方式:
查看了一下,正常下来一张照片占用的是119KB。3.jpg假设,两秒钟拍一张的频率拍一天的话,就占用内存119*30*60*24/1024/1024=4.9GB;一分钟一张的频率则占用内存119*60*24/1024=167.3MB。可以写一个脚本让它以两秒钟一张的频率拍记录两天的数据,再删除,然后再接着进行新一轮的记录。
较好的记录方式:
红外感应+拍照。国外的为了教育5岁小孩写的一个脚本只有感应到有物体移动了,才会进行拍照。

摄像头感应+拍照。这是之前我在书上看到的,应该可以通过检测摄像头中物体的移动来进行拍照(但是不建议在室外进行,因为有风)。

参考链接

https://blog.csdn.net/yjp19871013/article/details/80147803
便携式树莓派警报器:https://blog.csdn.net/w565911788/article/details/42080937