树莓派使用摄像头-基于mjpg_streamer(开机自启)

1.通过 lsmod 命令查看内核自动加载

lsmod | grep uvcvideo | grep -v grep

2.使用 mjpg-streamer 测试 USB 摄像头

a.

下载

mjpg-streamer

a) Github

的下载地址:

git clone https://github.com/jacksonliam/mjpg-streamer

b) Gitee

的镜像下载地址为:

git clone https://gitee.com/leeboby/mjpg-streamer

b.

安装依赖的软件包

sudo apt-get install libjpeg62-turbo-dev #JPEG支持库

sudo apt-get install imagemagick

sudo apt-get install libv4l-dev

sudo apt-get install cmake #编译工具

sudo apt-get install git #用git下载软件

c.

编译安装

mjpg-streamer

sudo git clone https://github.com/jacksonliam/mjpg-streamer.git

cd mjpg-streamer/mjpg-streamer-experimental

sudo make

sudo make install

d.

然后输入下面的命令启动

mjpg_streamer

sudo ./mjpg_streamer -i "./input_uvc.so -d /dev/video0 -u -f 30" -o"./output_http.so -w ./www"

e.拍照到home/pi/tmp/garbage.jpg

wget http://192.168.137.15:8080/?action=snapshot -O /home/pi/tmp/garbage.jpg

IP为自己树莓派的ip地址,端口:8080,保存路径自定义!

3.启动前注意事项

a.使用过 v4l2-ctl 命令可以看到 USB 摄像头的设备节点信息

v4l2-ctl --list-devices

4.关闭摄像头kill进程 (ctrl+z关闭后,重新启动不了)

a.查询mjpg_streamer进程PID

ps aux | grep mjpg_streamer

此处我的PID为1064,除了上述方法还有执行时放在后台运行!

b.kill摄像头进程

sudo kill 1064

5.修改start.sh脚本

a.切换到这个路径下

cd mjpg-streamer/mjpg-streamer-experimental/

b.修改start.sh脚本

修改成自己的摄像头结点,然后wq保存对出!

c.用户目录下创建脚本,用来执行启动摄像头的命令

6.配置开机自启(开启摄像头)

a.切换到开机自启配置目录

cd /etc/xdg/autostart

b.在这个目录下自己创建一个开机自启文件

sudo cp pprompt.desktop mjpg.desktop

我将原本存在的prompt.desktop文件拷贝到我自己新建的文件mjpg.desktop

c.编辑mjpg.desktop

sudo vi mjpg.desktop

按照我这个写就ok

Name:自己随便起个名字

Exec:就是执行的脚本(之前在用户目录下创建的mjpg.sh)

d.直接重启查看,开机自启配置是否OK

sudo reboot -f

e.重启完查看是否自启

ps ax | grep mjpg