今天来介绍一个解决方案MJPG-Streamer。MJPG-Streamer的原理是将USB摄像头采集的图像以JPEG格式发送出去,然后持续更新图片形成一个视频流。
它的优势有两个:
一个是和浏览器的兼容性好,可以轻松地在浏览器中显示,而无需担心浏览器是否支持Flash或流媒体协议;二是采用JPEG没有前后帧的关联,所以如果出现丢包只影响当前画面,而不会像H.264那样可能连续一段时间的马赛克图像。
当然也有缺点:
它的缺点是JPEG流的压缩效率比较低,比H.264浪费带宽。
二. Libjpeg库的编译
MJPG-Streamer要用到libjpeg,所以首先需要编译libjpeg。首先访问http://www.ijg.org/下载源代码,我使用的是新的9e版本。将源代码解压到jpeg-9e目录后,在该命令下执行configure命令进行配置:
1
./configure --host=ARM-linux-gnueabihf --prefix=/mnt/boaled/jpeg-9e/_install/
其中的host是指明所使用的编译器,prefix是指定编译后文件安装的目录。
然后执行下面的命令:
1
make
2
make install