本文来源电子发烧友社区,作者:zealsoft, 帖子地址:https://bbs.elecfans.com/jishu_2306609_1_1.html
感谢“电子发烧友网”和飞凌嵌入式公司提供了本次OKA40i-C开发板的评测机会。上次我们介绍了FFmpeg的测试情况,今天进行远程监控的测试。
感谢“电子发烧友网”和飞凌嵌入式公司提供了本次OKA40i-C开发板的评测机会。上次我们介绍了FFmpeg的测试情况,今天进行远程监控的测试。
一、开源软件MJPG-Streamer
上次介绍了使用FFmpeg将USB摄像头的视频转换为视频流发送给PC机。今天来介绍另一个解决方案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命令进行配置:
其中的host是指明所使用的编译器,prefix是指定编译后文件安装的目录。
然后执行下面的命令:
-
makemake install
![pYYBAGMpdx2AMHhYAAsTcwgl3m0775.png](https://file.elecfans.com/web2/M00/6B/9F/pYYBAGMpdx2AMHhYAAsTcwgl3m0775.png)
命令执行完毕,就会在prefix所指定的目录下生成4个目录,其中include目录包括所需要的头文件,而lib目录下包括库文件。这些在后面会用到。
编译后需要把libjpeg.so.9.5.0拷贝到开发板的/usr/lib目录下,并建立一个指向该文件的软连接libjpeg.so.9。
另外,开发板原来带有libjpeg.so.8.0.2这个版本。如果不希望安装更新版本,也可以在http://www.ijg.org/files/下载和板子对应的历史版本。
三、MJPG-Streamer的编译
MJPG-Streamer有两个主要版本:
- http://sourceforge.net/projects/mjpg-streamer/,这个是原始版本,不过原作者已经放弃更新了。
- https://github.com/jacksonliam/mjpg-streamer,这个是后续更新的版本。
要在OKA40i-C上使用,只能使用sourceforge那个版本。因为github的版本虽然更新,但是它对内核的版本有要求,至少3.18以上,比较适合树莓派这样的平台。OKA40i-C提供的内核版本是3.10,无法正确处理新版本的某些V4L2消息。另外,github版本采用CMake进行编译,后面所介绍的编译方法也不适用。
在https://sourceforge.net/p/mjpg-streamer/code/HEAD/tree/,点右上的“Download Snapshot”下载最新版的 mjpg-streamer-code-182。这里可以看到两个mjpg-streamer目录。一般使用mjpg-streamer-experimental这个版本,它支持的功能更多一些。
![poYBAGMpdumAFfRLAAn2goMT5AA039.png](https://file.elecfans.com/web2/M00/6B/06/poYBAGMpdumAFfRLAAn2goMT5AA039.png)
在编译之前,需要先修改plugins/input_UVc目录下的makefile文件,在其中加入如下两行:
![pYYBAGMpduqAB_dFAAhyNaaEGQ0658.png](https://file.elecfans.com/web2/M00/6B/9E/pYYBAGMpduqAB_dFAAhyNaaEGQ0658.png)
这两行的作用就是编译时能够找到我们前面生成的libjpeg库。
如果想修改MJPG-Streamer的插件设置,也可以修改mjpg-streamer-experimental目录下的makefile:
![poYBAGMpduuAEvG_AAio6se6jRI788.png](https://file.elecfans.com/web2/M00/6B/06/poYBAGMpduuAEvG_AAio6se6jRI788.png)
在本次测试中用不到其他插件,所以就采用默认配置。
然后在命令行执行下面的命令就可以编译了。
![poYBAGMpdu2AP9Q9AAwHpx-6KtM111.png](https://file.elecfans.com/web2/M00/6B/06/poYBAGMpdu2AP9Q9AAwHpx-6KtM111.png)
编译成功后把mjpg_streamer和几个so文件都拷贝到开发板上并正确设置好权限就可以运行了。
四、测试结果
在开发板的终端输入如下命令:
- ./mjpg_streamer -i "input_testpicture.so"
![pYYBAGMpdu-AKDmcAAxrl_AG7lE963.png](https://file.elecfans.com/web2/M00/6B/9E/pYYBAGMpdu-AKDmcAAxrl_AG7lE963.png)
如果使用USB摄像头,需要使用input_uvc.so插件,在开发板的终端输入命令:
- ./mjpg_streamer -i "input_uvc.so -r 800x600" -o "output_http.so"
![pYYBAGMpdvGAC8TzABCsAc6bMFc132.png](https://file.elecfans.com/web2/M00/6B/9E/pYYBAGMpdvGAC8TzABCsAc6bMFc132.png)
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
飞凌
+关注
关注
0文章
134浏览量
16191
发布评论请先 登录
相关推荐
3.1s启动!飞凌嵌入式i.MX93开发板部署LVGL,打造更高效的GUI
近期,飞凌嵌入式为基于NXP i.MX93系列处理器打造的OK-MX9352-C开发板成功移植了LVGL v8.3,不仅界面美观精致,启动速
![3.1s启动!<b class='flag-5'>飞</b><b class='flag-5'>凌</b>嵌入式<b class='flag-5'>i</b>.MX93<b class='flag-5'>开发板</b>部署LVGL,打造更高效的GUI](https://file1.elecfans.com/web3/M00/06/39/wKgZO2eIgguAfA2aAABGjTAqQWw318.png)
【飞凌嵌入式OK3588J-C开发板体验】OK3588J-C开发板开箱评测
很高兴收到飞凌嵌入式提供的OK3588J-C开发板,这是瑞芯微最新的8K旗舰8核SOC,非常适合用来做机器视觉,AI,语音识别,图像处理。
下面来看看OK3588J-
发表于 12-04 15:23
飞凌嵌入式受邀亮相OpenHarmony人才生态大会
出席,并展示了其在OpenHarmony 4.1系统适配方面的最新成果。 在大会的静态展示区域,飞凌嵌入式携两款明星产品OK3568-C开发板和OK527N-
![<b class='flag-5'>飞</b><b class='flag-5'>凌</b>嵌入式受邀亮相OpenHarmony人才生态大会](https://file1.elecfans.com/web3/M00/00/7B/wKgZPGdJf5OANq4DAAkSLFrau2I699.png)
追加名额丨米尔瑞芯微RK3576开发板有奖试用
米尔与瑞芯微合作发布的新品基于瑞芯微RK3576应用处理器的MYD-LR3576开发板免费试用活动加码啦~~米尔追加了2块价值849元的MYD-LR3576开发板发起试用活动您不仅可以
![追加名额丨米尔瑞芯微RK3576<b class='flag-5'>开发板</b>有奖<b class='flag-5'>试用</b>](https://file.elecfans.com/web2/M00/08/64/pYYBAGDwFEGADIPWAAFlJOlmLxg664.jpg)
【飞凌嵌入式OK3576-C开发板体验】开箱报告
(12Gbps)和扩展PCIe NVMe/SATA SSD固态硬盘,提供高效的数据存储和读取能力,满足工控设备对大容量存储的需求。
1.3、工业级属性
稳定性:核心板通过了飞凌嵌入式实验室严苛的工业环境测试
发表于 10-10 09:22
T536行业首发!飞凌嵌入式FET536-C/FET536-S核心板惊艳亮相
1.6GHz+600MHz,并搭载2TOPS算力NPU,这款强悍的重磅新品吸引了现场大量观众的关注。 与此同时,飞凌嵌入式基于T536处理器设计开发的FET536-C/FET536-S
![T536行业首发!<b class='flag-5'>飞</b><b class='flag-5'>凌</b>嵌入式FET536-<b class='flag-5'>C</b>/FET536-S核心<b class='flag-5'>板</b>惊艳亮相](https://file1.elecfans.com/web2/M00/08/B0/wKgZomb5_sWAdes1AARDjGEwMz0205.png)
【飞凌嵌入式OK527N-C开发板体验】- 1. 开箱
周三左右就收到了快递,一直忙其他的事情,没时间弄这个,就拖到周末了。
首先发个开箱贴,记录下。
外包装,盒子比想象的要大不少。
附带飞凌的产品手册,里面有很多飞凌的
发表于 07-11 21:24
【飞凌嵌入式OK527N-C开发板体验】- 开箱
周三左右就收到了快递,一直忙其他的事情,没时间弄这个,就拖到周末了。
首先发个开箱贴,记录下。
外包装,盒子比想象的要大不少。
附带飞凌的产品手册,里面有很多飞凌的
发表于 06-30 23:04
飞凌嵌入式RK3576核心板的四大优势详解
为了充分满足AIoT市场对高性能、高算力和低功耗主控日益增长的需求,飞凌嵌入式近期推出了基于Rockchip RK3576处理器开发设计的FET3576-C核心
![<b class='flag-5'>飞</b><b class='flag-5'>凌</b>嵌入式RK3576核心<b class='flag-5'>板</b>的四大优势详解](https://file1.elecfans.com/web2/M00/F5/DE/wKgaomZ-ExuAC4AAAAC0Rk7ZczI900.png)
飞凌嵌入式FET3576-C核心板四大优势详解
为了充分满足AIoT市场对高性能、高算力和低功耗主控日益增长的需求 ,飞凌嵌入式近期推出了基于Rockchip RK3576处理器开发设计的FET3576-C核心
![<b class='flag-5'>飞</b><b class='flag-5'>凌</b>嵌入式FET3576-<b class='flag-5'>C</b>核心<b class='flag-5'>板</b>四大优势详解](https://file1.elecfans.com/web2/M00/F5/DC/wKgaomZ-DsWAFm-bAAOc3SnTLO4010.png)
点击参与米尔NXP i.MX 93开发板有奖试用
米尔与NXP合作发布的新品基于NXPi.MX93应用处理器的MYD-LMX9X开发板免费试用活动来啦~~米尔提供了3块价值678元的MYD-LMX9X开发板发起试用活动您不仅可以免费体
![点击参与米尔NXP <b class='flag-5'>i</b>.MX 93<b class='flag-5'>开发板</b>有奖<b class='flag-5'>试用</b>](https://file.elecfans.com/web2/M00/08/64/pYYBAGDwFEGADIPWAAFlJOlmLxg664.jpg)
飞凌嵌入式i.MX 8M Plus开发板的OTA远程升级方案
的方式,可升级系统内核、文件系统和应用。接下来,将以飞凌嵌入式OKMX8MP-C开发板为例,基于Linux 5.4.70版本内核,展示升级前后的切换效果。 切换前,系统启动读取系统的b
![<b class='flag-5'>飞</b><b class='flag-5'>凌</b>嵌入式<b class='flag-5'>i</b>.MX 8M Plus<b class='flag-5'>开发板</b>的OTA<b class='flag-5'>远程</b>升级方案](https://file1.elecfans.com//web2/M00/EB/83/wKgaomZZZj6AKi3qAACL7nWmt0s586.jpg)
飞凌嵌入式i.MX8M Plus开发板的OTA远程升级方案
的方式,可升级系统内核、文件系统和应用。接下来,将以飞凌嵌入式OKMX8MP-C开发板为例,基于Linux5.4.70版本内核,展示升级前后的切换效果。切换前,系
![<b class='flag-5'>飞</b><b class='flag-5'>凌</b>嵌入式<b class='flag-5'>i</b>.MX8M Plus<b class='flag-5'>开发板</b>的OTA<b class='flag-5'>远程</b>升级方案](https://file1.elecfans.com/web2/M00/DF/38/wKgaomYvKimAG7MqAAByqnD0SWU989.png)
评论