摄像头
USB摄像头的使用
环境搭建
FSWebcam是一个简洁明了的网络摄像头应用程序,软件安装命令如下:
sudo apt install fswebcam
添加用户权限:sudo usermod -a -G video
示例:添加pi用户权限到群组中:sudo usermod -a -G video pi
检查用户是否已正确添加到群组中:groups
查看USB摄像头设备
使用 lsusb 命令可以查看系统识别的所有USB设备;
使用 ls /dev/video* 命令则可以列出系统识别的所有视频设备。
拍照
直接拍照:fswebcam <image_name>
- 保存到当前终端目录
拍摄一张分辨率1280x720的图像文件,并保存为image2.jpg
fswebcam -r 1280x720 image2.jpg
拍摄一张分辨率1280x720的图像文件,图片上不显示时间等信息,并保存为image3.jpg
fswebcam -r 1280x720 --no-banner image3.jpg
延时拍照
新建Webcam文件夹并进入该文件
mkdir Webcam
cd Webcam
新建webcam.sh脚本文件并编辑内容
sudo nano webcam.sh
文件内容:文件保存路径需要自己修改
#!/bin/bash
DATE=$(date +"%Y-%m-%d_%H%M")
fswebcam -r 1280x720 --no-banner /home/pi/Webcam/$DATE.jpg
按住Ctrl+X,输入Y,然后回车。
添加可执行权限并运行
sudo chmod +x webcam.sh
./webcam.sh
使用Cron(计划任务)
Cron 用于在特定时间和日期定期运行脚本和命令
打开cron表进行编辑,初次使用会提示你选择编辑器,建议使用nano编辑器 crontab -e
将下面的代码添加到编辑的文档最下面:前面5个*号代表定时1分钟,2>&1是将错误输出输入到标准输出上
* * * * * /home/pi/Webcam/webcam.sh 2>&1
保存文件退出后,终端会输出下面内容:crontab: installing new crontab
如果相隔一分钟没有生成图片,可以重新启动服务和检查路径是否正确!
若使用cron服务停止命令无法关闭摄像头自动拍摄,建议直接使用crontab -e命令,将之前编辑的内容删除!
开启cron服务:sudo service cron start
停止cron服务:sudo service cron stop
网页预览摄像头
使用Motion实现网页实时查看USB摄像头拍摄的视频。CSI无法使用该方法预览摄像头
安装Motion
sudo apt install motion
修改配置文件
motion.conf
sudo nano /etc/motion/motion.conf
daemon on
stream_localhost off
picture_output off
movie_output off
stream_maxrate 100
framerate 70
width 640
height 480
stream_maxrate:实时流媒体帧率
framerate:帧率
width:图像宽度
height:图像高度
可以调整以上参数!
说明:
- 以上选项在配置文件未搜索到的可以直接添加在文件内,比如stream_maxrate选项需要自己添加,其它选项是有的。
- 帧率:可以自行修改(以上参数是我最佳的效果)
- nano编辑器可以使用Ctrl+W快捷键搜索关键词,快速定位需要修改的内容
motion
sudo nano /etc/default/motion
添加下面代码:motion后台运行
start_motion_daemon=yes
启动服务
- 启动服务
sudo service motion start
- 停止服务
sudo service motion stop
- 重启服务
sudo service motion restart
- 开启motion
sudo motion
在终端输入启动motion服务和开启motion命令:
sudo service motion start
sudo motion
开启motion后,在同一局域网的浏览器上输入小车IP:8081查看摄像头实时画面。示例:192.168.2.93:8081
标签:03,树莓,service,cron,sudo,motion,添加,摄像头 From: https://blog.csdn.net/f272935657/article/details/141819364