导言
依据同轴电缆的视频监控体系结构杂乱、安稳性差、可靠性低且价格昂贵,因而呈现了嵌入式网络摄像机等长途Web视频监控体系。本嵌入式网络摄像机,选用高功用的ARM9芯片作微处理器,内置嵌入式Web服务器—Boa,经过嵌入式多任务操作体系—Linux收集摄像机视频数据;摄像机收集的视频信号数字化后经MJPEG算法紧缩,紧缩后的视频流再经过内部总线送到内置的Web服务器;经过在网页中嵌入图画播映器,用户可以直接经过浏览器观看Web服务器上的摄像机图画;经过通用网关接口CGI,授权用户还可以操控摄像机、云台和镜头的动作或直接经过Web完结对体系进行装备。
1 嵌入式网络摄像机体系原理及组成结构
嵌入式网络摄像机的根本原理:在嵌入式Linux操作体系中内置Web服务器Boa,摄像机收集视频信号并将其数字化,经MJPEG紧缩后,传送到内置的Web服务器,经过Web页面将视频信息发布到Internet。因为嵌入式网络摄像机是视频收集终端和Web服务器的交融,因而,用户可以直接经过浏览器观看摄像机拍照的视频图画,到达长途监控的意图。
整个体系由视频收集模块、视频紧缩模块、Web服务器、通用网关接口、Web页面等5个部分组成。 其硬件结构如图1所示:
视频收集模块包含以S3C2410X为中心的中心操控和数据处理中心,以及USB Camera数据收集单元。中心操控和数据处理中心首要完结视频收集终端的操控和视频图画的紧缩;Web服务器完结根本服务器的功用,担任呼应HTTP恳求,合作视频收集、紧缩模块完结图画信息发布;通用网关接口—CGI,可以依据用户输入的数据信息,操控摄像机、云台和镜头的动作或直接经过Web完结对体系进行装备。
嵌入式微处理器是嵌入式体系的“硬核”。微处理器的挑选将对整个嵌入式体系的本钱和功用发生决定性的影响。现在,比较盛行的处理器首要有:Power PC 、MIPS、Intel、ARM等。ARM(Advanced RISC Machines)公司是一家全球抢先的嵌入式微处理器IP(Intellectual Property )核提供商,它规划了一系列高功用、低功耗、低本钱和高可靠性的RISC处理器核、外围部件和体系级芯片运用处理方案。其时,ARM系列微处理器核广泛运用于便携式通讯设备、手持终端、多媒体数字消费产品等嵌入式体系处理方案中。本规划选用以ARM920T为中心的S3C2410X 32位微处理器,该处理器集成了LCD操控器、USB Host、USB Slave、NAND操控器、中止操控、功率操控、UART、SPI、SDI/MMC、IIS、GPIO、RTC、TIMER/PWM、ADC等丰厚的资源。
操作体系是嵌入式体系的“软核”。前期的嵌入式体系,因为其时还没有操作体系的概念,体系的首要功用都是用汇编语言完结的,其兼容性、通用性及扩展性都很差。跟着硬件功用不断进步,在嵌入式体系中运用通用操作体系已成为实际。在嵌入式体系中引进操作体系后,运用软件工程的思维辅导嵌入式体系开发,其开发功率和资源可重用率都将得到很大的进步。现在较为盛行的嵌入式操作体系有:VxWorks、Neculeus、WindowsCE、Linux等。相对其它商业操作体系,Linux这个开源网络操作体系有以下共同优势:
(1) 价格低价。在确保产品功用的前提下,价格永远都是体系规划时有必要考虑的重用要素之一。因为Linux来源于开源社区,相对于其它商业操作体系,其价格简直为零。
(2)文档丰厚。全世界的Linux程序员都是技能顾问,任何人都可以在开源社区得到其体系所需求的文档和协助。
(3)网络功用优秀。与Unix一脉相承的Linux支撑多种网络协议,并可以使体系长时间安稳运转。
(4)常识立异。在国产操作体系中,嵌入式操作体系被认为是仅有可以赶超国外同行的操作体系。而Linux是操作体系中的佼佼者,任何人都可以遵循GPL规矩发布包含自己常识产权的产品,可以高效地进行常识立异,少走弯路。
为此,本规划选用高功用ARM9芯片和嵌入式Linux操作体系。
2 视频收集模块规划与完结
视频收集模块是嵌入式网络摄像机的中心模块之一。它经过嵌入式Linux操作体系调度V4L(video4linux)和印象设备驱动程序来完结视频捕获。V4L是Linux印象体系与嵌入式印象的根底,是Linux kernel里支撑印象设备的一组APIs,合作恰当的视频收集卡与视频收集卡驱动程序,V4L可以完结印象收集、AM/FM无线播送、印象CODEC、频道切换等功用。现在,V4L首要运用在印象串流体系与嵌入式印象体系里,其运用规模适当广泛,例如:长途教学、长途医疗、视频会议、视频监控、可视电话等。V4L为2层式架构,最上层为V4L驱动程序,最基层则是印象设备驱动程序。
在Linux操作体系中,外部设备都作为设备文件来处理,因而,对外部设备的操作就改变成对设备文件的操作。视频设备文件坐落/dev/目录下,一般状况下为video0。当摄像机经过USB接口连接到视频收集终端后,在程序中调用V4L APIs对设备文件video0的读操作即可完结摄像头视频数据收集。其首要进程如下:
1) 翻开设备文件: int v4l_open(char *dev, v4l_device *vd){}翻开印象源的设备文件;
2) 初始化picture: int v4l_get_picture(v4l_device *vd){} 获取输入的印象信息;
3) 初始化channel:int v4l_get_channels(v4l_device *vd){} 获取每个channel的信息;
4) 对channel设置norm:int v4l_set_norm(v4l_device *vd, int norm){} 对一切的channel设置norm;
5) 设备地址映射:v4l_mmap_init(v4l_device *vd){} 回来寄存图画数据的地址;
6) 初始化mmap缓冲区: int v4l_grab_init(v4l_device *vd, int width, int height){};
7) 视频捕获同步: int v4l_grab_sync(v4l_device *vd){};
8) 视频捕获: int device_grab_frame(){}。
经过以上操作,即可将摄像机视频数据收集到内存。收集到内存的视频数据既可选用文件的方式保存,也可将其紧缩后经过网络发布到Internet。本规划选用后一种处理办法,即:将收集的视频数据经MJPEG紧缩,生成视频数据流并发布到Internet。
3 视频紧缩模块规划
因为摄像机收集到的视频数据信息量较大,假如直接将其处理成视频,将会给视频处理和网络数据传输带来很大的担负。因而,本规划选用高功用ARM9处理器对收集到的数据进行MJPEG紧缩。
JPEG(Joint Photographic Experts Group)—联合图画专家组的简称,它的首要方针是研讨具有接连颜色图画(包含灰度和五颜六色图画)的紧缩算法,是MJPEG的根底。JPEG算法被确定为静态数字图画紧缩的国际规范,不只适用于静止图画紧缩,并且适用于电视图画序列的帧内图画紧缩。因为JPEG紧缩选用的是全彩印象规范,其首要处理进程包含:颜色模型转化、离散余弦—DCT改换、重排DCT成果、量化、编码等。
MJPEG是MoTIon JPEG的缩写,即动态JPEG。它将动画播映与JPEG结合,依照25帧/秒的速度运用JPEG算法紧缩视频信号,完结动态视频的紧缩。
4 Web服务器规划
在资源有限的嵌入式设备中可以运用的轻量级Web Server有:httpd、thttpd、boa等。本规划选用开源的、支撑CGI的Boa Web Server,其首要移植进程如下:
(1)到www.boa.org下载最新软件包并解压到相关目录。
(2)在目录boa/src下的defines.h文件顶部设置默许的SERVER_ROOT途径。
(3)挑选穿插编译东西。在boa目录下运用 。/configure –host=i686-pc-Linux-gnu –target=arm-Linux 完结对boa的装备。
(4)履行make编译boa后即在src/目录下生成可履行文件boa。
(5)对boa.conf文件进行装备。首要完结对boa运转的端口号、Server 根目录、log files、html文件、cgi文件目录及可读写的temp目录的特点的设置。
5 浏览器与服务器之间的通讯—通用网关接口
CGI(Common Gateway Interface)是外部运用扩展程序与WWW服务器交互的一个规范接口。依照CGI规范编写的外部扩展程序可以处理客户端浏览器输入的数据,然后完结客户端与服务器的交互、完结动态Web技能。在本规划中,当用户经过浏览器向网络摄像机发送操控信息(比方操控摄像机云台的动作等)时,服务器看护进程发动CGI模块,CGI模块经过串口将操控指令传送给云台,使云台履行相应的动作。其流程图如图2所示:
6 Web页面的规划
在本嵌入式网络摄像机中,Web页面的首要功用是显现Web页面及动态视频信息。因为规范的html网页只具有显现文字和图片的功用,因而无法在规范的html网页里嵌入一个窗口来“实时”观看视频图画。处理这个问题的一种办法是将“实时”视频监控软件嵌入到网页中。Microsoft 拟定了AcTIveX规范,只需契合这个规范的软件都可以嵌入到网页中。为了能满意多人一起“实时”观看视频图画,在本规划中选用规范AcTIveX控件—VgPlayerObject来完结这一功用。
7 结束语
本文提出了一种依据ARM S3C2410X和Linux的嵌入式网络摄像机规划。选用嵌入式Linux操作体系进行视频收集、紧缩并经过AcTIveX控件显现动态视频,经过嵌入式Web Server和CGI技能交融整个体系,构成一套完好的网络摄像机体系处理方案。因为体系选用高功用嵌入式处理器完结首要操控、紧缩和Web处理工作,因而该体系具有结构简略、功用安稳、本钱低价等长处,在油田、油气井现场视频实时监控、智能小区、移动监控等范畴具有宽广的运用远景。
立异点:成功将CGI技能运用到嵌入式网络摄像机中,运用简略的办法完结了用户和嵌入式体系的交互,本网络摄像机在智能监控和移动监控中有宽广的运用远景。