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

2012-07-13 03:07:22陈书益黄永慧
电子设计工程 2012年5期
关键词:嵌入式设备

陈书益,黄永慧

(广东工业大学 自动化学院,广东 广州 510006)

“MJPG-streamer”是一个轻量级的视频服务器软件。一个可以从单一输入组件获取图像并传输到多个输出组件的命令行应用程序。

该软件可应用在基于IP协议的网络中,从网络摄像机中获取并传输JPEG格式的图像到浏览器,例如Firefox、Cambozola、Videolanclient,甚至是一个运行了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所示。

图1 主函数处理流程图Fig.1 Working process diagram of main function

2 MJPG-streamer的相关组件

MJPG-streamer采用模块化的设计方法,以功能块为单位进行描述,这些功能块被称为plug-in(组件)。软件中定义好了各组件的输入、输出,以及组件之间的衔接关系。用户可自行根据对功能的需求,选择需要的模块。这种模块化的程序设计简化了代码的编写、调试、维护,程序员只需要遵守设计的规范,就可以轻松地改写软件,或者编写新的模块以增强软件的功能[1]。

MJPG-streamer最主要并且最常用的组件是input_uvc输入组件和output_http输出组件。其他组件包括input_control、input_file、input_testpicture、input_gspcav1、output_autofocus、output_file、out_viewer,如图 2 所示。

图2 MJPG-streamer的组件体系Fig.2 The plug-in system of MJPG-streamer

2.1 input_uvc输入组件

input_uvc组件的主要功能是获取摄像头拍摄的图像并将其压缩编码,共包括5个组件接口函数,这些组件接口函数是各个组件提供给外部使用的接口。……

登录APP查看全文

猜你喜欢
嵌入式设备
谐响应分析在设备减振中的应用
TS系列红外传感器在嵌入式控制系统中的应用
电子制作(2019年7期)2019-04-25 13:17:14
基于VB6.0+Access2010开发的设备管理信息系统
嵌入式系统通信技术的应用
电子制作(2018年18期)2018-11-14 01:48:16
基于MPU6050简单控制设备
电子制作(2018年11期)2018-08-04 03:26:08
搭建基于Qt的嵌入式开发平台
嵌入式软PLC在电镀生产流程控制系统中的应用
电镀与环保(2016年3期)2017-01-20 08:15:32
500kV输变电设备运行维护探讨
工业设计(2016年12期)2016-04-16 02:52:00
如何在设备采购中节省成本
原来他们都是可穿戴设备
消费者报道(2014年7期)2014-07-31 11:23:57