基于嵌入式-Web服务器的视频监控系统设计_第1页
基于嵌入式-Web服务器的视频监控系统设计_第2页
基于嵌入式-Web服务器的视频监控系统设计_第3页
基于嵌入式-Web服务器的视频监控系统设计_第4页
基于嵌入式-Web服务器的视频监控系统设计_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于 Web的远程视频监控系统设计摘要对嵌入式Internet的远程监控系统进行了研究,构建了一个基于ARM处理器和Linux操作系统的嵌入式BS模式的远程视频监控系统。系统以嵌入式Linux和嵌入式微控制器$3C2440为核心平台,通过嵌入式平台建立的Web服务器将USB摄像头采集来的视频信号经过网络传输,在用户端PC可以接收到视频图像,并根据需要来控制云台的旋转,以完成对家庭的网络视频监控。关键词Arm;Linux;嵌入式Web服务器;视频监控;CGIDesign of Video Monitoring System based on Embedded W eb ServerAbstrac

2、t This article has researched the embedded Internet long-distance monitoring system and constructed one embedded BS pattern long-distance video monitoring system which based on the ARM pPocesor and Linux operating systemThe coPe platform of the system is embedded Linux systems and embedded micro-con

3、troler cope $3C2440, through the platform establishing an embedded Web server to tPansmist the video signaI from the USB camera,we cab receive the video on the PC at the client-side and contPoIthe revolution of the holder when necessary,SO as t0 complete the video monitoring of the familyKey wordsAr

4、m;Linux;Embedded Web Server; Video Surveilance ;CGI目 录摘要及关键词2目录2第一章 引言4第二章 监控系统的体系结构5第三章 视频监控系统的工作原理63.1Web服务器与 CGI程序63.2通用网关接口 cGl6第四章 系统中重要模块的设计84.1视频图像采集模块84.2视频图像的 MPEG压缩94.3云台的控制9第五章 结束语11致谢12参考文献13第一章 引言近年来,随着网络技术、传输技术和视频压缩等相关技术的不断发展。视频监控系统在生产生活中的各个领域得到了广泛应用,视频监控系统逐渐从模拟化过渡到了数字化,并且呈现出网络化、集成化的发展

5、趋势,基于嵌入式Web的网络视频监控系统逐渐得到了人们的广泛关注,以网络为基础的数字视频监控系统已经发展成为视频监控系统发展的主流。 本文对嵌入式Internet的远程监控系统进行了研究,构建了一个基于ARM处理器和Linux操作系统的嵌入式B/S模式的远程视频监控系统。该系统把图像采集、视频压缩和Web功能集中到一个体积很小的设备内,可以直接连入局域网和Internet,达到即插即用,省掉多种复杂的电缆,安装方便,用户也无需安装任何硬件设备即可对监控现场进行监控。第二章 监控系统的体系结构该系统的整体有三部分组成,前端是用于视频采集的USB摄像头,中间部分是移植了嵌入式Linux操作系统的A

6、RM9开发板,它的作用是对采集来的数字图像信号进行MPgG-4压缩,并内建嵌入式Web服务器和视频流媒体服务器,从而将视频传递给远端用户。第三部分是监控端,由带有浏览器的PC机组成,它用来浏览远端的视频,同时也可以通过网络对系统平台进行控制组成框图如图l所示。USB摄像头基于Linux的ARM9开发板监控端(用户PC等)usb以太网图1系统的组成框 图嵌入式远程视频采集系统主要由硬件和软件两部分组成。硬件部分有USB摄像头和ARM9开发板;软件部分由系统软件(包括 Bootloader、嵌入式 Linux操作系统和驱动程序 )和应用软件 (包括Web服务器、CGI程序、视频采集、压缩编码云台控

7、制等)。其中,软件部分是本文的设计重点。第三章 视频监控系统的工作原理在嵌入式的视频监控系统应用结构中,整个系统采用BS(浏览器服务器)体系结构,即由客户端通过W eb向服务器提出请求,服务器对请求作出确认响应并执行相应的任务(如向客户端发送组播地址、图像格式、压缩格式等 ),建立连接后就可以在客户端监控被控点,从而实现远程网络监控。服务器 (Web Server)端即现场监控点的软件结构包括采集模块、压缩编码模块、网络通信模块、控制模块等。对于控制命令来说,浏览器接受用户提供的控制命令,然后形成相应的命令帧格式,发送到网络上,Web服务器对接收到的控制命令进行分析解释,并根据授权,通过控制系

8、统驱动摄像机执行相应的命令,如云台变向、镜头变焦等,从而实现对现场的实时监控,见图2。浏览器Web服务器应用程序模块(如云台控制等)httpCGI控制图 2视频监控 系统 的工作 原理BS(浏览器服务器)模式的通信构架如下,用户只需在远程客户机安装一个普通的浏览器软件,其他大部分工作由Web服务器完成BS模式开发的监控软件,降低了对系统软件的要求,避免了用户对客户端的安装和设置,实现了软件安装的简单化、自由化。3.1Web服务器与 CGI程序Web服 务 器通 过 H TTP协 议 与 监 控端 浏 览 器 软件进 行信息 交互,提 供其他 应用程序 模块 的接 口以及视 频数据 浏览界面 和

9、摄像机 控制界 面。此 外,它还要对监控端的访问权限进行控制 ,过滤监 控端的请求和控制信息 ,处理多个监控端 的请求和 控制的 同步和优先级 问题。本 系统 选择适 合于嵌 入式系统的 Boa Web服务器 。Boa是一个单任务的 HTTP服务 器 ,支 持能 够 实现动 态 W eb技术 的CGI技 术,源代码开 放、性 能高。 同时服务器 程序本身所 占空间很小 ,因而十分适用于嵌入式 系统。同时,本系统采用了cgi(公用网关接口)来实现动态 Web技术 ,CGI规定了 Web服务器调用其他可执行程序 (CGI程序 )的接 口协议标准。3.2通用网关接口 cGl系统对远程设备控制功能是通

10、过 cGI(通用网关接)程序和表单实现的。CGI是在 HTTP服务器上运行外部程 序的接 口,它允许将其输 出结果经 HTTP服务器传送给 Web浏览器。如果没有 CGI, web服务器 只能提供静态的文档和其他页面或服务器进行链接。有了CGI,程序就可以在后台进行各种动态的操作。根据CGI接口规范,应用程序与Web服务器之 间的通讯方法包括环境变量、命令行、标准输入与标准输出。其中,使用最广泛的是环境变量,Web服务器通常要实现标准的CGI环境变量。例如云台控制,在本系统中,当用户通过浏览器向服务器发出控制信息时,服务器守护进程启动CGI模块,CGI模块将控制命令传给串口通信程序,由该程序将

11、控制命令转换成云台能够识别的数据报,通过RS232串口发送给云台,云台产生相应的动作。CGI使用HTML表单向嵌入式HTTP服务器发送信息,基本语法如下:FORM METHODget/post ACTIONURL/FORM其中,METHOD属性指定将数据传送到嵌入式HTTP服务器的方法输入方法有两种:GET和POST。ACTION属性定义要对表单数据进行处理的CGI脚本的URL.CGI定义了HTTP服务器和CGI应用程序之间的接口,向CGI程序传送数据,CGI程序通过这个接口,访问用户传送来的信息,并将程序执行结果通过HTTP服务器返回给用户。第四章 系统中重要模块的设计4.1视频图像采集模块

12、在Linux下的视频采集是通过 Video4Linux实的,Video4Linux是广泛采用的总线标准,为针对视频设备的应用程序编程提供一系列接口函数。Linux视频采集的操作流程如下 (见图3): 视频采集开始是否采集完毕打开设备文件关闭设备获取摄像头 Y 获取摄像头缓冲区中图像的参数结束 图3 视频采集流程(1)打开设备文件。指定要操作的摄像头设备文件 devvideoO,调用open()打开该设备文件。Int fd=open(”devvedioO”,0 RDWR)。(2)获取摄像头参数。通过ioctl (fd, IOCGCAP,capability)函数来读取struct video_c

13、apability结构体中有关摄像头的信息(设备名称、支持的最大最小分辨率、信号源信息等)。(3)设置摄像头缓冲区中图像参数。(4)进行视频采集。视频采集有两种方法:mmap()内存映射方式和read()直接读取。Mmap()系统调用使得进程之间通过映射同一个普通文件实现共赏内存。普通文件被映射到进程地址空间后,进程可以向访问普通内存一样对文件进行访问,不必再调用read(),write()等操作。采用共赏内存通信的一个显而易见的好处是效率高,因为进程可以直接读写内存,而不需要任何数据的拷贝。Mmap方式下真正做视频截取的是ioctl(vdfd,VIDIOCMCAPTURE,(vdmmap);

14、若调用成功,开始一帧的截取,它是非阻塞的,是否截取完毕留给VIDIOCSYNC来判断。调用VIDIOCSYNC等待一帧截取结束(ioctl(vdfd,VIDIOCSYNC,frame))若成功,表明一帧截取已完成。可以开始做下一次VIDIOCMCAPTURE,frame是当前截取的帧的序号。(5)清理内存,关闭视频设备。4.2视频图像的 MPEG压缩视频数据压缩模块将采集到的视频数据使用MPEG4压缩标准进行压缩编码,生成 MPEG4视 频数据流,再由视频数据传输模块通过网络发送给请求监控的客户端。本系统设计中采用开源的高效xvidocre多媒体编解码软件来作为 MPEG4视频 压缩的核心算法

15、。XVID编码器对视频图像进行编 码压缩的实现步骤如下(1)第一步,初始化。创建最 为关键的两 个结 构体 :编码帧信息结构体 (xvidencframet)和编 码帧状态信息结构体 (xvid_encstats_t),分别用于 传入参数和统计编码结果。 (2)第二步,读取第一帧的图像信息,调用 readyuvdata()函数 ,从原始 YUV文件缓冲区中读取第一帧图像的信息。将相应图像信息参数传入定义的xvidencj ramet结构体和xvidencstatst结构体中。(3)第三步 ,帧 内编码 ,调用 CodeIntraMB() 函数设置编码模式为 intra,将所有和运动有关的变量

16、设为 0,如果差分量化值 不为 0, 设为 intra-Q。然 后 , 调用 I帧编码函数 static int FrameCodel(Encoder *pEnc,Bitstream *bs)进行帧内编码 IVOP。(4)第四步,将重建帧交换为参考帧,从帧队列中取下一帧图像作为编码帧,即当前帧,并初始化(同第一步 )。(5)第五步,调用xvidencore(enchandle,XVIDENCENCODE,&xvidencfram e,&xvidencstats)函数 ,对该帧图像进行编码。(6)第六步 ,根据第五步确定的编码方式对该帧进行编码。如果是帧内编码方式,转第三步;如果是帧问编码方式,

17、则调用P帧编码函数staticint FrameCodep(Encoder*pEnc,Bitstream*bs)或是B帧编码函数static int FrameCodeB(Encode*pEnc,Bitstream*bs)进行帧间编码。然后转第四步,保存编码帧信息。(7)第七步,编码完最后一帧,关闭文、释放空间。4.3云台的控制4.3.1云台协议的介绍云台解码驱动器是全方位摄像仪的重要驱动设备,主要用于接收来自服务器的控制信号,进行解码并驱动云台、可变摄像头的运动。云台控制协议众多,本系统采用的是市场上最为通用的派尔高公司的PELCOD协议,它的格式如表1所示。表1 PELCOD协议的格式By

18、te1Byte2Byte3Byte4Byte5Byte6Byte7同步字地址码命令字1命令字2数据1数据2校验码所有的值都是用的16进制表示。同步字通常都是0xFF。地址码是指与服务器通信的那台设备的逻辑地址,可以在设备中设置。命令字1和命令字2设置如表2所示。 表2 命令字1和命令字2的设置内容Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0命令字1Sense码为0 为0自动/手动扫描摄像机打开/关闭光圈关闭光圈打开焦距拉近命令字2焦距拉远视角变宽视角变窄上下左右为04.3.2云台协议部分的程序设计 首先对云台协议文件的解析。这一部分主要是完成将上层Web服务端通过网络接收的云台协议文件进行转换。由于云台协议文件是文本文件,按照一定格式书写,因此文件解析主要是将文本中有效部分的ASCII码转

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论