【一】树莓派上基于USB摄像头使用mjpg-streamer和motion监控
概述
实习了,想要开始记录下自己遇到的一些问题以及解决的办法,我会尽量写的详细一些,方便以后的自己以及有需要的人查阅使用。
做的第一个项目需要使用树莓派实时捕捉图像,也就是所谓的监控,在树莓派上主流的办法有两种,motion 和 mjpg-streamer。我基于USB摄像头,对以上的两者都做了尝试,事实证明mjpg的效果比motion好很多。motion的实现较为简单,mjpg则是费了九牛二虎之力才成功。下面上干货。
使用motion实现
1、保证摄像头能在树莓派上运行
输入命令查看 $: lsusb
这个是我使用的USB摄像头,罗技的Pro C920。
查看驱动是否正常 命令 $: ls /dev/vid*
2、使能摄像头输入命令
$: sudo raspi-config
选择Interfacing Options
选择Camera
选择Yes
3、安装motion服务
更新 $: sudo apt update
命令$: sudo apt install motion
配置$: sudo nano /etc/default/motion
(1)设置为可后台运行
(2)保存以上设置后,输入命令$: sudo nano /etc/motion/motion.conf
(3)设置分辨率
分辨率可以根据需要设置
(4)设置摄像头端口
(5)设置不仅仅连接到本地
(6)设置浏览器端口
以上这些都可通过 Ctrl+W进行查找,设置完成后,按Ctrl+O,然后回车,再按Ctrl+X退出。
4、启动摄像头 命令$: sudo motion
5、一定要使用chrome或火狐浏览器 输入 树莓派IP地址:8081
6、关闭摄像头 命令$: sudo killall -TERM motion
运行成功如下图:
使用mjpg-streamer实现
1.下载到树莓派
git clone https://github.com/jacksonliam/mjpg-streamer.git
wget https://github.com/jacksonliam/mjpg-streamer/archive/master.zip
2.安装支持库和make
sudo apt-get install libjpeg8-dev //支持库
sudo apt-get install cmake//make
unzip master.zip
3.mjpg-streamer配置
cd mjpg-streamer-master/mjpg-streamer-experimental/plugins/input_raspicam
vi input_raspicam.c
在其中找到fps等属性进行修改
4.编译
一定要在这个这个目录下进行
make clean all
5.启动摄像头
//启动普通 USB摄像头
./mjpg_streamer -i “./input_uvc.so” -o “./output_http.so -w ./www”
//启动树莓派专用摄像头
./mjpg_streamer -i “./input_raspicam.so” -o “./output_http.so -w ./www”
//openwrt下启动,8090端口
mjpg_streamer -i “input_uvc.so -f 10 -r 320*240” -o “output_http.so -p 8090 -w www”
出现以上结果则说明摄像头启动,虽然上面很多Error,但是这样就是正确的。
5.在浏览器中打开
一定要使用chrome或火狐浏览器 输入 树莓派IP:8080
运行成功如下图:
参考:
https://blog.****.net/Leo_cumt/article/details/68065889
https://blog.****.net/u010900754/article/details/53097626
https://blog.****.net/qq_19884595/article/details/81535572
https://blog.****.net/qq_35614920/article/details/77113467