前言:
MJPG-Streamer代码简单,并且对CPU的要求比较低,一般的处理器都能运行,我们可以通过它,大体了解一下视频监控的知识。
一、MJP-streamer
编译安装MJP-streamer
使用Buildroot编译
在100ASK_IMX6ULL上安装、运行
使用chrome浏览器
观看摄像头拍摄的视频
了解MJP-streamer框架
TE公司是全方位的连接器提供商:TE Connectivity 连接和传感解决方案,面向互连、可持续的未来
打开官网就可以查找各类连接器
不知道怎么查找?在首页点击“产品”,可以查看TE的所有产品系列
在首页点击“资源”,可以:下载图纸资料,比较产品,查询分销商库存
二、JPEG,MJPG格式简介
1.JPEG
简称JPG
上过美术课的人都知道一个像素的颜色可以用RGB三原色来表示,其实还可以用YUV格式来表示
使用RGB、YUV的格式编码的照片,文件都很大,比如常见的BMP文件就是用RGB编码
把一个BMP文件转换为JPEG文件,可以发现图片质量没发生变化,但是文件变小了很多
JPEG是根据人体视觉的特点采用了YCbCr格式,大大压缩了照片的大小
2.MJPG
Motion JPEG,简称MJPG
JPEG是静态图片的编码格式,MJPG是动态的视频编码格式
可以简理解:MJPG就是把多个JPEG图片连续显示出来
3.MJPG的优点
很多摄像头本身就支持JPEG、MJPG,所以处理器不需要做太多处理
一般的低性能处理器就可以传输MJPG视频流
4.MJPG的缺点
MJPG只是多个JPEG图片的组合,它不考虑前后两帧数据的变化,总是传输一帧帧图像:传输带宽要求高
H264等视频格式,会考虑前后两帧数据的变化,只传输变化的数据:传输带宽要求低
三、编译MJPG-streamer
有两种方法:
下载源码,手工编译
使用Buildroot,配置选择MJPG-streamer,直接编译生成映象文件
我们使用Buildroot:
设置交叉编译工具链
在Buildroot根目录
make menuconfig
如下图选择MJPG-streamer
执行make
这会在Buildroot的dl/mjpg-streamer目录下自动下载源码,并编译
结果保存在output/images目录下,有emmc.img, sdcard.img,可以直接烧写到板能的EMMC或SD卡上
1.ubuntu上:
book@100ask:~$ cd 100ask_imx6ull-sdk/
book@100ask:~/100ask_imx6ull-sdk$ cd Buildroot_2020.02.x/
book@100ask:~/100ask_imx6ull-sdk/Buildroot_2020.02.x$ make menuconfig
进行搜索mjpg
进行选中,选中以后再次make编译