一、简介

1.MJPEG-streamer方案的实现

优点
程序简单,所有源码一目了然,便于学习
对ARM板的性能要求不高,主频200MHZ的ARM芯片也能实现
缺点:
实现局域网内的视频监控
要实现互联网视频监控,需要另外实现内网穿透
Mjpeg-streamer没有实现声音传输
Mjpeg-stream项目已经不再维护,仅仅建议用于学习

2.JPEG,MJPG格式简介

JPEG:简称jpg
一个像素的颜色可以用RGB三原色来表示,其实还可以用YUV格式表示
使用RGB,YUV格式编码照片,文件都很大,比如BMP文件就是用RGB编码
把一个BMP文件转换为JPEG文件,可以发现图片质量没发生变化,但是文件变小了很多
JPEG是根据人体视觉的特点采用了YCbCr格式,大大压缩了照片的大小

MJPEG
MJPEG是静态图片的编码格式,MJPG是动态的视频编码格式
可以简单理解:MJPG就是把多个JPEG图片连续显示出来
MJPG的优点
很多摄像头本身就支持JPEG,MJPG,所以处理器不要太多处理
MJPEG的缺点
MJPEG只是多个MJPEG图片的组合,它补考虑前后两帧的数据变化,总是传输一帧帧图像:传输带宽要求高
H264等视频格式,会考虑前后两帧的数据变化,只传输变化的数据:传输带宽要求低

二、安装mjpeg-streamer

2.1 更新源

sudo apt-get update			#更新软件列表
sudo apt-get upgrade		#更新软件

以上两个更新如果在刚启动树莓派的时候更新过了的话可以忽略

2.2 安装依赖和相关工具

sudo apt-get install subversion
sudo apt-get install libjpeg8-dev		#JPEG支持库
sudo apt-get install imagemagick
sudo apt-get install libv4l-dev			#4l是小写"L"
sudo apt-get install cmake				#下载编译工具

2.3 克隆源码并编译安装
2.3.1 安装git

sudo apt-get install git

2.3.2 克隆源码

git clone https://github.com/jacksonliam/mjpg-streamer.git

2.3.3 进入mjpg-streamer/mjpg-streamer-experimental路径编译:

cd mjpg-streamer/mjpg-streamer-experimental

make all

2.3.4 安装

sudo make install

3. 安装完成之后,修改启动脚本
mjpg-streamer/mjpg-streamer-experimental路径下的启动脚本:

vi 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.soinput_uvc.soUSB插口摄像头使用

4. 使能摄像头
使能前可以先:
4.1 查看是否存在vchiq设备节点:

ls /dev

如下图所示:
在这里插入图片描述
4.2 查看当前摄像头是否可用

vcgencmd get_camera

如果detected=0,说明摄像头模块没接好,重新排查下硬件。detected=1则说明CSI摄像头接入正常。supported=1说明摄像头已经使能,摄像头已经可以使用。supported=0则说明CSI摄像头没有使能,需要使能下摄像头模块

如下图所示:
在这里插入图片描述

  1. 以上操作都完成了之后,我们就要对摄像头相关的配置设置一下

5.1 sudo raspi-config
在这里插入图片描述
5.2 在这里插入图片描述
5.3 在这里插入图片描述
5.4在这里插入图片描述
5.5 以上操作都完成后,重启树莓派

sudo reboot

在这里插入图片描述

6. 开启摄像头
6.1 通过脚本启动,在mjpg-streamer/mjpg-streamer-experimental路径下:

./start.sh

下图所示就是已经开启了摄像头了
在这里插入图片描述

7. 浏览器查看视频流
端口号:
在这里插入图片描述
在浏览器网址栏输入:

http://ip:port						   //我的树莓派此时的 ip地址为 192.168.191.5
http://192.168.191.5:8080

在这里插入图片描述

8.更多功能:

拍照:

raspistill -o image.jpg

此处图片名:image,保存为.jpg格式

再把图片传到windows系统下打开,即可看到拍到的图片

更多参数使用raspistill --help指令查询:

raspistill --help

树莓派mjpg-streamer 使用摄像头优秀博文

学习笔记,仅供参考


版权声明:本文为weixin_51976284原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_51976284/article/details/127285929