基于网络视频监控系统的设计说明.doc





《基于网络视频监控系统的设计说明.doc》由会员分享,可在线阅读,更多相关《基于网络视频监控系统的设计说明.doc(66页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 目录目录I摘要III第1章绪论41.1视频监控系统的发展概况41.2嵌入式Windows CE操作系统21.2.1Windows CE6.0的体系结构31.3面向对象编程61.3.1从结构化到面对对象61.3.2面向对象程序设计7第2章嵌入式网络视频监控系统总体设计82.1 系统总体框图82.2 视频图像采集模块82.3 ARM处理器模块92.4 视频图像传输模块92.5 客户端接收模块9第3章嵌入式网络视频系统服务端软件系统设计103.1 搭建开发环境103.1.1 软件开发平台103.2 Platform Bulider 6.0 简介103.3 定制Windows CE6.0113.3.
2、1 目标设备的准备113.3.2 模拟器123.3.3 创建Windows Embedded CE6.0123.3.4 编辑和修改Windows Embedded CE6.0工程163.3.5 生成Windows Embedded CE6.0映像173.3.6 运行Windows Embedded CE6.0173.4 服务器应用程序设计183.4.1 服务端视频图像采集模块193.4.2 服务端视频图像发送模块20第4章嵌入式网络视频监控系统客户端软件系统设计234.1 SOCKET编程基础234.1.1 SOCKET协议234.1.2 Windows Sockets API234.1.3
3、DOT Netframework对Socket功能的实现244.2 客户端仿真程序设计与实现264.2.1 仿真程序模块划分274.2.2 连接服务模块274.2.3 图像采集模块304.2.4 视频采集模块344.2.5 播放视频模块364.2.6 界面显示模块364.2.7 信息显示模块404.2.8 监控效果40第5章系统调试与性能分析42第6章结论445.1 结论445.2 系统的不足与展望44参考文献46附录A 网络视频监控服务端主要代码47附录B 网络视频监控客户端部分主要代码52摘要为了实现电力设备的远程监控,融合网络技术、通信与计算机技术,采用面向对象的程序设计方法,基于Vis
4、ual Studio 2005程序设计工具,使用C#高级编程语言,设计并开发了基于ARM和Windows Embedded CE6.0的网络视频监控系统的软件系统。该系统包括了服务端应用程序和客户端应用程序二大部分。服务端实现了对远程现场的视频数据采与传输,客户端实现了视频数据的接收、存储、处理与显示等功能。整个系统经过与系统的仿真,性能稳定,界面友好,操作简单。基本能满足对网络设备的远程监控的要求,具有广泛的应用前景。关键词: ARM;视频监控;Windows CE 64 / 66第1章 绪论1.1 视频监控系统的发展概况近年来,随着现代科学技术的不断发展特别是网络带宽、计算机处理能力和存储
5、容量的迅速提高以与各种实用视频信息处理技术的出现,视频监控技术也有长足的发展,视频监控进入了全数字化的网络时代,日益受到人们的重视和关注。视频监控系统的发展基本上是从早期的模拟闭路电视监控系统向数模结合的视频监控系统和现在的数字视频监控系统演变的过程,而现在的数字视频监控系统根据技术的发展又分为三个阶段:数字监控的多媒体阶段、数字监控的DVR阶段和数字监控的网络阶段。随着多媒体技术、视频压缩编码技术、网络通讯技术的发展、数字视频监控系统迅速崛起,现今市场上有两种数字视频监控系统类型,一种是以数字录像设备为核心的视频监控系统,另一种是以嵌入式视频Web服务器为核心的视频监控系统。数字视频压缩编码
6、技术日益成熟,计算机的普与化,为基于PC机的多媒体监控创造了条件。这种新型视频监控系统的迅速崛起,部分地取代了以视频矩阵图像分割器、录像机为核心,辅以其它传送器的模拟视频监控模式,但随着基于PC机的视频监控录像系统的发展,在实际工程使用过程中,也暴露出一些不足,主要是系统工作的不稳定性。基于PC的视频监控录像系统的组成结构为:兼容/工控PC机+视频采集卡+普通/较可靠的操作平台+应用软件。嵌入式系统是以应用为中心,软硬件可裁减的,适应应用系统对功能、可靠性、成本、体积等综合性严格要求的专用计算机系统,亦即为监控系统量体裁衣的专用计算机系统。嵌入式系统主要由嵌入式处理器、相关支撑硬件、嵌入式操作
7、系统与应用软件系统等组成,它是集软硬件于一体的可独立工作的器件。嵌入式操作系统是一种实时的,支持嵌入式系统应用的操作系统软件,它是嵌入式系统极为重要的组成部分,通常包括与硬件相关的底层驱动软件、系统核、设备驱动接口、通信协议、图形界面、标准化浏览器等,嵌入式操作系统在系统实时高效性、硬件的相关依靠性、软件固态化与应用的专用性等方面具有较为突出的特点嵌入式视频Web服务器方式,视频服务器置一个嵌入式Web服务器,采用嵌入式实时多任务操作系统。摄像机送来的视频信号数字化后由高效压缩芯片压缩,通过部总线送到置的Web服务器,网络上用户可以直接用浏览器观看Web服务器上的摄像机图像,授权用户还可以控制
8、摄像机、云台、镜头的动作或对系统配置进行操作。由于把视频压缩和Web功能集中到一个体积很小的设备,可以直接连入局域网,达到即插即看,省掉多种复杂的电缆,安装方便(仅需设置一个IP地址),用户也无需安装任何硬件设备,仅用浏览器即可观看。视频监控发展的最大两个特点就是数字化各网络化。 1) 数字化。数字化是21世纪的特征,是以信息技术为核心的电子技术发展的必然,数字化是迈向成长的通行证,随着时代的发展,生存环境将变得越来越数字化。视频监控系统的数字化首先应该是系统息流从模拟状态转为数字状态,这将彻底打破经典闭路电视系统是以摄像机成像技术为中心的结构,根本上改变视频监控系统从信息采集、数据处理、传输
9、、系统控制等的方式和结构形式。信息流的数字化、编码压缩、开放式的协议,使视频监控系统与安防系统中其它各子系统间实现无缝连接,并在统一的操作平台上实现管理和控制,这也是系统集成化的含义。2) 网络化。视频监控系统的网络化将意味着系统的结构将由集总式向集散式系统过渡。集散式系统采用多层分级的结构形式,具有微核技术的实时多任务、多用户、分布式操作系统以实现抢先任务调度算法的快速响应。组成集散式监控系统的硬件和软件采用标准化、模块化和系列化的设计,系统设备的配置具有通用性强、开放性好、系统组态灵活、控制功能完善、数据处理方便、人机界面友好以与系统安装、调试和维修简单化,系统运行互为热备份,容错可靠等优
10、点。系统的网络化在某种程度上打破了布控区域和设备扩展的地域和数量界限。系统网络化将使整个网络系统硬件和软件资源的共享以与任务和负载的共享,这也是系统集成的一个重要概念。从以上可以看出,视频技术的发展大致经历了模拟视频、PC视频、网络视频三个阶段,并以网络、通信技术为依托和传输平台。1.2 嵌入式Windows CE操作系统微软公司从1990年开始准备构建移动设备中的Windows,但先后因为市场和硬件技术问题搁浅了,随着经验的积累和各种条件的成熟,1996年微软发布了Windows CE 1.0,从而使微软公司在嵌入式操作系统中迈出了第一步。Windows Embedded CE 在嵌入式领域
11、算得上是一个后起之秀。尤其在其Windows CE.NET 发布以后,才真正使得其被应用到嵌入式领域。而Windows Embedded CE5.0则成为了广大开发人员接触得最多的Windows Embedded CE版本,2006年年底,微软公司推出了Windows Embedded CE6.0 ,新的版本在集成开发环境,硬件支持,数据库支持等方面更胜一筹,配合Visual Studio 2005和Microsoft SQL Server Management Studio和开发工具,并支持SQL Server Mobile,使其在更广阔的领域被更多的得到应用。在通用计算机桌面操作系统领域,
12、微软公司有着自己面向不同时期不同应用的产品线。在时间上,先后发布了Windows 95,Windows 98,Windows Me, Windows 2000,Windows XP, Windows Vista等,在嵌入式操作系统领域,微软公司同样有着丰富的产品线,先后有着Windows CE 1.0,Windows CE 2.0,Windows CE 3.0,Windows CE 4.X,Windows CE 5.0与最新的Windows CE 6.0。1.2.1 Windows CE6.0的体系结构Windows CE采用了典型的分层结构。在Windows Embedded CE 6.0中
13、划分为User Mode(用户模式)和Kernel Mode(核模式)两个“层”,CoreDLL等DLL同时出现在两个层中,驱动程式也能够被加入到核中,以前的.exe可执行模块基本上都变成了.dll。体系结构的变化相对较大。Windows Embedded CE 6.0的体系结构如图1所示。图1 Windows Embedded CE6.0体系结构Windows Embedded CE6.0将任何系统需要提供的服务部分“转移”到系统核的虚拟机(Kernels Virtual Machine),这样做的好处是当发生系统调用时,已变成了进程的一个调用。这样做也引入了一些不稳定机制,比如驱动程式被加
14、入到核,Windows Embedded CE6.0默认情况下就是将驱动运行在核模式。虽然提高了系统的效率,但假如驱动程式不稳定,将对系统的整体稳定性产生很严重的影响,这也是我们所不愿意看到的。当然,并不是任何的驱动程式都是在核运行的,在Windows Embedded CE6.0安装完成之后的驱动程式是在用户模式下运行的,这样更有利于系统的安全,但以牺牲设备的性能为代价。Windows Embedded CE6.0里的系统模块如图2所示。图2Windows Embedded CE6.0系统模块NK.exe中仅仅包含一些OAL代码和确保兼容性的程式,这样做的好处是使得OEMs和ISVs厂商定制
15、的代码和微软提供的Windows Embedded CE6.0的代码进行了分离,使得核代码的升级更加容易且更加方便。1) 硬件。硬件是一个嵌入式系统存在的必要条件,也是嵌入式设备的处在体现,是嵌入式操作系统运行的基础,在通用计算机领域,一般都是X86体系结构的IBM-PC与其兼容机,早期IBM和英特尔的压倒性趋势,使得现在的通用计算机领域硬件体系结构基本一致,都有定义良好的接口,而在嵌入式领域,由于设备制造商都是由不同领域不同应用的厂商发展起来的,所以硬件结构相对复杂,公CPU体系结构就有多种,硬件的复杂性会加大程序开发的难度,因此出现了BSP来解决体系结构的差别问题。Platform Bui
16、lder CE6.0为很多常用的SDB(软件开发板)提供了BSP,这结BSP基本包括了所有Windows CE6.0所支持的CPU,可有效减少嵌入式设备的开发周期。2) OAL层。OAL处在Windows CE6.0 和嵌入式设备的硬件层之间,连接到核的库中便可以创建核可执行程序。它主根提供中断处理,时钟,电源管理,总线抽象,通用I/0控制等服务。在建立一个以Windows CE6.0 为操作系统的硬件平台的过程中,创建OAL可能是最复杂的事情之一。通常情况下,最简便的方法是对已有的OAL进行修改以适应自己的硬件平台。3) KITL层。KITL(Kernel Indepent Transpor
17、t Layer)是为了调试工作更加方便而设计的,它削弱了通信协议与通信硬件之间的直接依赖,降低了硬件传输层相关的开发工作量,硬传输层在KITL的下层,使得KITL可以支持不同类型的通信。4) 核层。核为Windows CE6.0设备提供最基本的底层功能,这些功能包括进程,线程,存管理,还包括一些文件管理功能,进程和线程的调度,实时支持,系统调用,核电源管理等。NK.EXE是OAL进程,核KERNEL.DLL是伴随着OALY启动的,NE.EXE是Windows CE6.0 的核心。 5) ExFAT文件系统。Windows CE 6.0采用了 ExFAT(Extended File Alloca
18、tion Table System),ExFAT不仅解决了大容量文件存储的限制问题,还使得Windows CE6.0设备与桌面PC 机之间的文件传输更方便更容易。而且ExFAT还提供了对以前文件系统的支持。6) GWES 接口。GWES(Graphic, Windowing , Events, Subsystem)集Win32 API, User Interface, Graphic Device Interface于一体,是用户,应用程序和Windows Embedded CE6.0之间的一个共同接口,三者通过GEWS进行通信和相关的操作。GWES所支持的Windows CE6.0的用户接口
19、元素非常丰富,几乎可以和桌面Windows 相比,包括窗口,对话框,菜单和其它资源。7) 设备管理器。设备管理器是被核加载的,而且只要Windows Embedded CE6.0还在运行,设备管理器就不会停止工作,当设备管理器被加载时,I/O资源管理器也将被加载,用它从注册表中读取一个有效的可用资源列表。设备管理器通过GUID(Globally Unique Identifier)来发现和管理设备。设备管理器通过device.dll来实现的。设备管理器与注册表的配合非常紧密,它运行和管理的大多数数据都来自注册表。8) 驱动程序。驱动程序是一种抽象了物理或者虚拟设备功能的软件或者代码,相应设备被
20、其驱动程序管理的操作,物理设备比较常见,像USB存储器,打印机等,虚拟设备如文件系统,虚拟光驱等。在Windows CE6.0 中,驱动程序有两种模式,一种是核模式另外一种为用户模式,在默认的情况下,驱动程序运行在核模式下,这有利于设备性能的提高,但也增加了影响系统各个方面性能的不确定因素,如果不稳定的驱动程序被加载到核,将会对嵌入式系统的可靠性,稳定性等多方面的性能产生致使的影响。这使得驱动程序在发布和认证时必须有严格的性能合格证措施。9) .NET Compact Framework 平台。Windows CE6.0提供了对.NET Compact Framework的支持,使得开发应用程
21、序有了良好的编程接口。开发CE6.0的应用程序,可以使用现有的开发工具和环境,也可以仅仅使用一些SDK(Software Development Kit)。Windows CE6.0支持Unicode超大字符集,NLS(National Language Support)的支持使得开发国际化的软件更加方便,对已有的国际化和本地化也更容易实现。1.3 面向对象编程1.3.1 从结构化到面对对象结构化程序设计方法本质上是面向过程的,它不能直接反映人们解决问题的思路,因此这种模式存在着固有的缺陷,主要体现在如下两个方面。(1) 程序的可重用性差。目前的应用程序变得越来越大,越来越复杂,但其中有很多重
22、复性的工作,代码重用成为提高编程效率的关键。采用传统的SP(结构化编程)模式,每开发一个新的应用程序,程序员几乎都要从零开始做起,并且要针对具体问题做大量重复而烦琐的工作。即使重用代码,也只是进行简单的拷贝,要实现的功能稍有不同,就会导致对代码逐行进行修改,也就是说,这种模式不能对已编好的应用程序的某些部分直接继承引用。(2) 维护程序的一致性差。应用传统的SP模式开发应用程序时,数据和方法是分开的,这很可能产生问题空间和方法空间在结构上的不一致。对程序运行起重要作用的数据一般要做全局处理,若为了新的需要改变某一数据结构,则所有的处理数据的过程都要进行重新考虑,做出必要的修改,以保证与数据的一
23、致性。因此,要花费大量的精力来维护数据和数据处理过程的一致性,而且还可能产生不少错误。结构化的程序开发已经不能满足软件发展的需求了。这个时候,出现了面向对象的编程思想,简称为OO(Object Oriented)。面向对象的程序开发被称为OOP(Object Oriented Programming)。在介绍面向对象的思想之前,应该明确指出,面向对象是一种编程的思想,而与具体的语言无关。比较流行的支持面向对象的语言有C+、C#和Java。1.3.2 面向对象程序设计采用面向对象模式建立起来的程序由许多不同类型的对象组成,各对象既是独立的实体,又可以通过各自的接口相互作用。对象中的方法决定要向哪
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 网络 视频 监控 系统 设计 说明

限制150内