mjpg-streamer 方案
优点:程序简单,所有源码一目了然,便于学习。
对ARM板的性能要求不高,主频200MHZ的ARM芯片也能实现
缺点:实现局域网内的视频监控
要实现互联网视频监控,需要另外实现内网穿透
Mjpg-streamer没有实现声音传输
Mjpg-stream项目已经不再维护,仅仅建议用于学习
安装
更新软件和安装库
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
下载安装文件
sudo git clone https://github.com/jacksonliam/mjpg-streamer.git

进入目录
cd mjpg-streamer/mjpg-streamer-experimental
编译
make all
sudo make install
这里如果编译失败或中断

重新安装一下JPEG支持库
sudo apt-get install libjpeg8-dev
sudo apt-get install imagemagick
然后执行时加上sudo权限
执行成功如下,生成一些.so插件

修改启动脚本
#赋予脚本执行权限
sudo chmod 666 start.shvi start.sh
下方句段修改为上方句段或加#注释下方句段添加上方句段:
./mjpg_streamer -i "./input_raspicam.so" -o "./output_http.so -w ./www"
#./mjpg_streamer -i "./input_uvc.so" -o "./output_http.so -w ./www"
使用树莓派摄像头用input_raspicam.so,input_uvc.so是USB插口摄像头使用
查看当前摄像头是否可用
vcgencmd get_camera
如果detected=0,说明摄像头模块没接好,重新排查下硬件。detected=1则说明CSI摄像头接入正常。supported=1说明摄像头已经使能,摄像头已经可以使用。supported=0则说明CSI摄像头没有使能,需要使能下摄像头模块。
如下
sudo raspi-config


设置好后会重启树莓派
开启摄像头,通过脚本启动
./start.sh
如果脚本执行发生错误,则执行更改./start.sh权限
sudo chmod +x start.sh
浏览器查看视频流
在浏览器地址输入:http://ip地址:8080

拍照功能
raspistill -o image.jpg
此处图片名:image,保存为.jpg格式
再把图片传到windows系统下打开,即可看到拍到的图片
更多参数使用raspistill --help指令查询: