打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
开源视频服务器软件MJPG-streamer的分析

开源视频服务器软件MJPG-streamer的分析

[日期:2012-06-12] 来源:现代电子技术  作者:陈书益,黄永慧 [字体: ]

    内容摘要:针对嵌入式设备在进行多媒体数据处理时存在的资源限制问题,采用了一种开源视频服务器软件MJPG-streamer完成多媒体数据的处理及存储,基于该软件的特点和体系结构,通过修改MJPG-streamer的源代码,添加新的功能模块,以增强这款软件的功能。并重新交叉编译后,移植到嵌入式系统中,以实现一个可控制前端设备的基于Arm9的嵌入式远程视频监控系统。实验结果表明,该方法很好地增强了视频数据处理的效果,并可流畅地在客户端播放浏览器。

     关键词:MJPG-streamer;开源;视频服务器;插件;嵌入式应用

    “MJPG-streamer”是一个轻量级的视频服务器软件。一个可以从单一输入组件获取图像并传输到多个输出组件的命令行应用程序。
    该软件可应用在基于IP协议的网络中,从网络摄像机中获取并传输JPEG格式的图像到浏览器,例如Firefox、Cambozola、Videolanclie nt,甚至是一个运行了TCPMP播放器的Windows移动设备。
    它继承于uvc_streamer,为在RAM和CPU上存在资源限制的嵌入式设备而写的。因为兼容Linux-uvc的摄像机可以直接生成JPEG数据,即使是运行OpenWRT Linux的嵌入式设备也可以快速处理M-JPEG数据流。
    这款工具源代码简洁,注释清晰。组件功能明确,衔接清晰。使用Linux C语言进行开发,可移植到不同的计算机平台,也可以在根据GPL v2的条款下进行改进和发行。

1 MJPG-streamer的处理流程
    MJPG-streamer主函数的定义在mjpg-streamer.c文件。主函数的处理流程如图1所示。

   

    2 MJPG-streamer的相关组件
    MJPG-streamer采用模块化的设计方法,以功能块为单位进行描述,这些功能块被称为plug-in(组件)。软件中定义好了各组件的输入、输出,以及组件之间的衔接关系。用户可自行根据对功能的需求,选择需要的模块。这种模块化的程序设计简化了代码的编写、调试、维护,程序员只需要遵守设计的规范,就可以轻松地改写软件,或者编写新的模块以增强软件的功能。
    MJPG-streamer最主要并且最常用的组件是input_uvc输入组件和output_http输出组件。其他组件包括input_control、input_file、input_testpICture、input_gspcavl、output_autofocus、output_file、out_viewer,如图2所示。

   

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
发烧友实测 | A40i开发板试用体验之远程视频监控
基于linux-2.6.35的网络视频服务器移植
友善之臂视频监控方案源码学习(6)
mjpg-streamer源码分析 (转)
openwrt挂载摄像头MJPG-streamer完全教程
【新提醒】OpenWRT + OpenCV 无线摄像头监控和图像处理
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服