新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 开源视频服务器软件MJPG-streamer的研究和应用

开源视频服务器软件MJPG-streamer的研究和应用

作者:时间:2012-06-11来源:网络收藏

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

“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所示。

本文引用地址:http://www.eepw.com.cn/article/148910.htm



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所示。

c语言相关文章:c语言教程


摄像头相关文章:摄像头原理
矢量控制相关文章:矢量控制原理

上一页 1 2 3 4 下一页

评论


相关推荐

技术专区

关闭