0%

启用树莓派摄像头

树莓派有很多官方出品的配件,虽然很多配件比树莓派自己还贵,但是总有一些值得玩的小物件,比如“camera”

目标

用这个摄像头做监控

实施过程

首先的首先,确保你已经通过putty或者什么软件之类的,或者键盘什么的能连接上树莓派,并且打开了终端。

raspivid & vlc

使用命令安装所需软件包:

1
2
sudo apt-get update
sudo apt-get install raspivid vlc -y

raspivid是官方的调用树莓派摄像头的软件包,若树莓派上安装的不是raspbian,则需要用其他软件了。

现在你可以输入

1
raspivid -t 0 -hf

来显示图像了,如果树莓派上插了显示器,你就能在显示器上看到摄像头的画面了。但是最终目标可不是把显示器插在树莓派上,而是要将画面显示在电脑显示器上。

输入以下命令

1
raspivid -o - -t 0 -hf -w 1280 -h 720 -fps 30 |cvlc -vvv stream:///dev/stdin --sout '#standard{access=http,mux=ts,dst=:8160}' :demux=h264

然后,需要在电脑上安装支持流媒体的播放器,这里推荐potplayerVLC media player 按下ctrl u(for potplayer) 或者ctrl N(for vlc media palyer),将树莓派的ip地址给贴进去,这里我的树莓派的地址是192.168.100.109,你也可以输入

1
ifconfig | grep "inet addr"

来查看树莓派的IP地址,然后以http://x.x.x.x:8160的格式粘贴到播放器的框里面去,确定就OK了。

用这个方法简单一些,但是延迟非常高,图像质量也不怎么样,所以提供第二个办法

mjpg-stream

用这个的话,延迟低了很多,并且质量也不错,极力推荐。

1
2
3
4
5
cd ~
sudo apt-get install cmake libjpeg8-dev git-core
git clone https://github.com/jacksonliam/mjpg-streamer
cd mjpg-streamer-master/mjpg-streamer-experimental/
make

这个时候可执行程序已经编译好了,可以选择执行make install来将软件安装到系统,也可以不安装,直接执行。

然后:

1
./mjpg_streamer -i "./input_raspicam.so -fps 30 -x 854 -y 480" -o "./output_http.so -w ./www"

这个时候,在谷歌浏览器或者火狐浏览器(IE和Edge浏览器不行)打开http://x.x.x.x:8080/?action=stream即可看到树莓派摄像头的画面。

或者将上面的地址粘贴到vlc media player里面去也可以看(potplayer不可以)。

参数调整

对于第一种办法,可以通过调整-w -h -fps来调整画面质量,还可以通过添加-rot参数来调整画面旋转角度。

对于第二种办法,可以通过调整-x -y -fps来调整画面质量,也可以通过添加-rot参数来调整画面旋转角度。

PS:

1
2
3
4
5
6
7
8
9
MJPG Streamer Version.: 2.0
i: Using V4L2 device.: /dev/video0
i: Desired Resolution: 640 x 480
i: Frames Per Second.: -1
i: Format............: JPEG
i: TV-Norm...........: DEFAULT
ERROR opening V4L interface: No such file or directory
Init v4L2 failed !! exit fatal
i: init_VideoIn failed

这个错误是因为使用了不对等的输入文件,input_raspicam.so对应的是树莓派官方摄像头,而input_uvc.so对应的是USB摄像头。

对于两种命令的更多使用方法,查看文档咯。

生命重在折腾