MJPG-streamer是一个优秀的开源项目,它可以通过HTTP的方式访问linux上面的兼容摄像头,从而做到远程视频传输的效果。最近小组的一个项目和计算机视觉有关,于是本鼠鼠在树莓派上面搭建视频传输环境的时候选择了MJPG-streamer。现在将整个搭建的过程记录下来,供大家参考。
1.搭建环境以及硬件设备
树莓派B+、树莓派原生的操作系统(官网可下载)、树莓派的专用摄像头Raspberry Pi Camera。其实现在市面上可以很容易买到的USB摄像头会更加方便,如果你使用的是Raspberry Pi Camera也是可以用的,但且使用Raspberry Pi Camera由于驱动问题要比USB摄像头多几个安装步骤。
2.启用树莓派摄像头
摄像头插好后,供电开机。ssh进树莓派后,在树莓派的配置中启用摄像头(执行一次即可,无需每次开机都执行)
#进入树莓派设置页面
sudo raspi-config
#找到Camera并启用(Interface->Camera)
#然后重启
sudo roboot
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.克隆并编译项目
sudo git clone https://github.com/jacksonliam/mjpg-streamer.git
cd mjpg-streamer/mjpg-streamer-experimental
make all
sudo make install
#赋予脚本执行权限
chmod +x start.sh
5.运行MJPG-streamer
#进入项目目录
cd mjpg-streamer/mjpg-streamer-experimental
#运行启动脚本
sudo start.sh
6.关于ERROR opening V4L interface: No such file or directory
如果你遇到这种情况,首先检查是否将摄像头安装好了,没插上就是这个错误。
7.查看摄像头输出的视频
在浏览器中输入
http://[树莓派ip]:8080
即可看到MJPG-Streamer的Demo页面
或直接输入
http://192.168.3.35:8080/?action=stream
可获得摄像头的实时视频流
如何使其在后台运行
如果想要使其在后台运行的话,我想到了两种方法
- 使用Screen单独开一个命令窗口
- 创建一个Service,同时可以实现开机自启动(推荐)
关于Screen的使用方法:https://hash070.top/linux-screen.html
如何创建Service:https://hash070.top/linux-service-note.html