MJPG-streamer是一个优秀的开源project,它可以通过HTTP的方式访问linux上面的兼容摄像头,从而做到远程视频传输的效果。最近导师的一个project和远程视频传输有关,于是笔者在树莓派上面搭建视频传输环境的时候直接选择了MJPG-streamer。现在将整个搭建的过程贴出来,供大家参考。
1.搭建环境以及硬件设备
树莓派B+、树莓派原生的操作系统(官网可下载)、树莓派的专用摄像头Raspberry Pi Camera。其实现在市面上可以很容易买到的USB摄像头会更加方便,但是笔者手头上暂时只有Raspberry Pi Camera,就将就使用了,并且使用Raspberry Pi Camera由于驱动问题要比USB摄像头多几个安装步骤。
2.Enable树莓派摄像头
Raspberry Pi Camera插到正确位置后(注意别插反了),供电开机。用putty进入树莓派后,enable摄像头(执行一次即可,无需每次开机都执行):
1
|
sudo
raspi-config
|
进入后,将camera一项enable,然后重启:
1
|
sudo
reboot
|
3.安装必要的库
命令行直接敲以下指令:
1
2
3
4
5
6
7
|
sudo
apt-get update
sudo
apt-get
install
subversion
sudo
apt-get
install
libjpeg8-dev
sudo
apt-get
install
imagemagick
sudo
apt-get
install
libv4l-dev
sudo
apt-get
install
cmake
sudo
apt-get
install
git
|
4.git开源的project到本地,编译
1
2
3
4
|
sudo
git clone https:
//github
.com
/jacksonliam/mjpg-streamer
.git
cd
mjpg-streamer
/mjpg-streamer-experimental
make
all
sudo
make
install
|
如果是普通的USB摄像头,这个时候应该可以使用了,在命令行输入:
1
|
.
/mjpg_streamer
-i
"./input_uvc.so"
-o
"./output_http.so -w ./www"
|
如果是Raspberry Pi Camera,会报错。
这是因为V4L driver 不支持raspberry pi的camera,所以初始化失败。
5.解决V4L driver不支持的问题
安装必要的库:
1
|
sudo
wget http:
//www
.linux-projects.org
/listing/uv4l_repo/lrkey
.asc &&
sudo
apt-key add .
/lrkey
.asc
|
修改sources list
1
|
sudo
nano
/etc/apt/sources
.list
|
在最后加上一行:
1
2
3
4
5
6
|
deb http:
//www
.linux-projects.org
/listing/uv4l_repo/raspbian/
wheezy main
继续安装:
sudo
apt-get update
sudo
apt-get
install
uv4l uv4l-raspicam
sudo
reboot
|
重启之后:
1
2
3
4
5
6
|
sudo
pkill uv4l
sudo
apt-get update
sudo
apt-get
install
uv4l-uvc
sudo
apt-get
install
uv4l-xscreen
sudo
apt-get
install
uv4l-mjpegstream
sudo
reboot
|
再一次重启之后:
1
2
|
sudo
modprobe bcm2835-v4l2
.
/mjpg_streamer
-i
"./input_uvc.so -d /dev/video0 -n -y -f 25 -r 640x480"
-o
"./output_http.so -n -w /usr/local/www"
|
然后打开浏览器输入:
http://raspberry-ip-address:8080/?action=stream
应该就可以看到Raspberry Pi Camera采集的动态视频了,延迟大概不超过0.8秒吧。
注意:
1
|
sudo
modprobe bcm2835-v4l2
|
这条命令是每一次都要先执行然后才可以打开摄像头,不妨把它设为开机启动执行吧。
转载自:http://shumeipai.nxez.com/2017/05/14/raspberry-pi-mjpg-streamer-installation.html