树莓派的mjpeg-streamer实现简单的监控功能
一、简介
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-experimentalmake 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.so
,input_uvc.so
是USB
插口摄像头使用
4. 使能摄像头
使能前可以先:
4.1 查看是否存在vchiq
设备节点:
ls /dev
如下图所示:
4.2 查看当前摄像头是否可用
vcgencmd get_camera
如果detected
=0,说明摄像头模块没接好,重新排查下硬件。detected
=1则说明CSI摄像头接入正常。supported
=1说明摄像头已经使能,摄像头已经可以使用。supported
=0则说明CSI摄像头没有使能,需要使能下摄像头模块
如下图所示:
- 以上操作都完成了之后,我们就要对摄像头相关的配置设置一下
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 使用摄像头优秀博文
学习笔记,仅供参考
树莓派的mjpeg-streamer实现简单的监控功能相关推荐
- 智能家居代码构建编写、简单工厂模式、树莓派摄像头视频监控功能实现
根据上一节内容的代码框架开始编写代码: 首先编写controlDevices.h这个头文件里面的代码,这个是设备工厂每一个结点的结构体类型,而且还要在这个头文件里面进行函数的声明,也就是创建的那些设备 ...
- 树莓派(Raspbian)+motion+树莓派摄像头——实现局域网监控功能
文章目录 安装motion 配置motion 1.编辑motion 2.修改motion的配置文件 3.启动motion 4.查看实现效果 安装motion 打开命令行输入: sudo apt-get ...
- 树莓派mjpg-streamer实现监控功能
树莓派实现监控功能,调用mjpg-streamer库来实现.mjpg-streamer是一个开源的摄像头媒体流,通过本地获取摄像头的数据,通过http通讯发送,可以通过浏览器访问树莓派的IP地址和端口 ...
- 一个简单的监控系统的设计
一个简单的监控系统的设计 # // // 为了实现上级需要一个监控的需求,设计一个小的监控系统,结构如下图. // 虽然是一个比较简单的功能,但是仍然对代码的结构的关系进行了设计,使其具备良好的可扩展 ...
- 树莓派4B+cpolar+MJPG-Streamer+Xshenll实现远程监控
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 树莓派4B+cpolar+MJPG-Streamer+Xshenll实现远程监控 前言 具体流程 1.系统安装 2.配置环境 3.下载 ...
- 用机顶盒或网络电视机实现监控摄像头预览,完成简单的录相机功能,用机顶盒远程观看摄像头,多个监控可以同时观看,实时观看,也可以用机顶盒或网络电视观看局域网内的监控画面
用机顶盒或网络电视机实现监控摄像头预览,完成简单的录相机功能,用机顶盒远程观看摄像头,多个监控可以同时观看,实时观看,也可以用机顶盒或网络电视观看局域网内的监控画面 准备: 1.需要知道 监控摄像头的 ...
- 通过案例学功能 自定义监控功能初探
IT系统千差万别,即便是通用的Java.PHP也会由于版本的差异,配置和接口存在大同而小异,但往往就是这些小差别,会对系统的稳定性和性能产生大影响.市面上的IT监控产品都只能对标准应用的流行版本进行准 ...
- 树莓派python网络通信_Python3使用Socket实现树莓派与计算机半双工通信,实现聊天功能...
项目中需要实现PC与树莓派通信完成控制,寻找一遍后,发现现例子大多比较简单,可以实现一次收发过程,第二次数据发送就会出现问题.观察发现少一个循环,无法保持联通状态,代码修改后可以简单的实现半双工通信, ...
- 部署及配置Lync Server 2013 监控功能
在上面一篇文章中我们已经部署了存档功能,并且在标准版环境搭建了一台SQLServer服务器作为后端数据库服务器,有了这台服务器我们可以做什么呢?存档,当然还有监控,以及整个CMS.当然这都是一步一步演 ...
最新文章
- 包含锚点平滑滚动效果/解决锚点链接碰到固定定位问题/导航选中背景变色/固顶/返回顶部效果全...
- 访问级别约束0906
- 单片机数据在网页上显示_不务正业的Excel也玩地图,在地图上显示数据,好玩又简单...
- __block 和 __weak的区别
- Python3 数字运算
- neutron plugin 与 extension 编写流程
- 要用Identity Server 4 -- OAuth 2.0 超级简介
- android 展示星期方式,Android显示从一周到另一周的日期(星期四至星期四)
- 流程管理软件如何适应变化
- 开放下载!《无需从0开发 平头哥教你1天上手蓝牙Mesh应用解决方案》
- 程序开源与不开源区别_什么是开源程序办公室? 为什么需要一个?
- 怎样从altera下载软件与器件库
- DWM1000模块简介
- H.323-SIP信令网关
- java jdom 设置第1行_使用JDOM操作XML
- AspectJ自定义注解报错:error Type referred to is not an annotation type:xxx -----IllegalArgumentException
- 美国奶酪(芝士) - cheese
- 一个手机里登录2个微信号(微信双开)
- 如何在iPhone和iPad上隐藏IP地址,保护个人隐私信息
- JAVA中枚举是什么