树莓派上MJPG-streamer的安装过程


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摄像头(执行一次即可,无需每次开机都执行):

sudo raspi-config

进入后,将camera一项enable,然后重启:

sudo reboot

3.安装必要的库

命令行直接敲以下指令:

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到本地,编译

sudo git clone https://github.com/jacksonliam/mjpg-streamer.git
cd mjpg-streamer/mjpg-streamer-experimental
make all
sudo make install

如果是普通的USB摄像头,这个时候应该可以使用了,在命令行输入:

./mjpg_streamer -i "./input_uvc.so" -o "./output_http.so -w ./www"

如果是Raspberry Pi Camera,会报错。
这是因为V4L driver 不支持raspberry pi的camera,所以初始化失败。

5.解决V4L driver不支持的问题

安装必要的库:

sudo wget http://www.linux-projects.org/listing/uv4l_repo/lrkey.asc && sudo apt-key add ./lrkey.asc

修改sources list

sudo nano /etc/apt/sources.list

在最后加上一行:

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

重启之后:

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

再一次重启之后:

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秒吧。

注意:
sudo modprobe bcm2835-v4l2

这条命令是每一次都要先执行然后才可以打开摄像头,不妨把它设为开机启动执行吧。

6. 参考文献

  1. https://dotblogs.com.tw/bowwowxx/2015/06/08/151511
  2. https://github.com/jacksonliam/mjpg-streamer
  3. http://blog.csdn.net/blueslime/article/details/12429411
  4. http://blog.csdn.net/zhaole20094463/article/details/7026252

原文链接

这是一篇发布于 8年 前的文章,其中的信息可能已经有所发展或是发生改变,请了解。


4 评论

  1. 请问是哪个大学的实验室?
    看到文中说和导师的项目有关
    想知道离我们学校远不远

    感觉你们好棒!

  2. 每次摄像头启动,没一会儿树莓派就宕机了。看/var/log/message没找到原因。检查了CPU温度没发现异常,想问下是否跟摄像头的分辨率太高有关系?

  3. 解决V4L driver不支持的问题,这边添加源以后,update会出现错误,就是好像这个源不行??这是为什么呢博主

发表评论

你的邮件地址不会公开


*