你现在位置:首页>技术论文>行业应用>检测监控>正文
基于.NET的下一代网络视频监控系统的设计
日期:2010-8-19 22:10:44 点击:
来源:中国工控网
作者:
点击【】放大字体.
[摘要]:本文提出了基于.NET平台的下一代网络视频监控系统的设计方案,该方案设计的监控系统具备跨平台和终端设备无关的能力,同时还具有可重用、易扩展、易升级的优点。而我们根据方案实现的试验系统验证了方案的有效性。
[关键词]:.NET 视频监控 XML SOAP RTP/RTCP
——可——编——程——控-制-器-技——术——门——户

1  引言
plcjs.技.术_网

     近年来,人们越来越关注生存环境,重视突发灾害的预警与紧急应对措施的建立,迫切希望提高生产和生活管理的智能化水平,网络视频监控系统也作为人类视觉的延伸越来越受到重视,得到了广泛的应用和长足的发展。网络视频监控系统经历了从基于PC的局域网网络监控系统、基于PC的Web服务器的网络监控系统、直至目前以嵌入式Web服务器的网络监控系统为发展热点的三个阶段。然而,随着Internet网络的发展,人们给网络视频监控系统提出了新的要求。因为届时网络视频监控系统的用户们将要求在可以接入因特网上的基于任何操作系统平台的终端,无论是基于Windows、Linux等系统的PC机,还是基于嵌入式系统如WinCE、Palm OS、ucLinux等的PDA、移动电话等,任意一个终端都可以作为网络监控系统的监控终端,进行实时监控和管理,也就是说下一代网络视频监控系统区别于现有系统的重要特征就在与其能够实现对多种平台、多种终端的通用性和自适应性。为此,我们提出了基于.NET平台的下一代网络视频监控系统的解决方案,该方案即满足了跨平台和终端无关的要求,也保证了多媒体数据实时高效传输的能力。我们在计算机网络上进行了该方案的实例实现,证明了其有效性。
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

2  XML与.NET
WW.W_PLCJS_COM-PLC-技.术_网

    XML[2,3]是由W3C 制订的新标准标记语言, 其最大的特点是将信息的描述与信息的处理分开, 使得数据具有自我描述能力。XML 有很好的扩展性、开放性, 而且具有可验证的特性等。XML 的众多优势使其逐渐成为网络世界的“国际语言”。XML为采用Web Service开发分布式应用程序提供了必要的支持。实际上,XML在Web Service 的设计和实施中起着关键作用, Web Service 的接口描述及消息传递都采用XML 编码。然而要实现基于XML的Web Service,还需要一个关键的对象访问协议:SOAP。SOAP,简单对象访问协议(Simple Object Access Protocol) 是一个基于XML 的用于在分散的分布式环境下交换信息的轻量级协议。SOAP 在请求者和供应者对象之间定义了一个通讯协议, 这样, 在一个面向对象编程的环境下,申请对象就可在提供的对象上执行一个远程的方法调用。
plcjs.技.术_网

    .NET[1]是Microsoft公司于2002年2月推出的新一代软件开发平台,它具有以下几大特点:跨平台、跨语言、跨设备的特性,即不论用什么操作系统( Unix、Windows、Linux、OS/2等),也不论用什么程序设计语言(C#、 C 、Java、 VB),用什么设备 (PDA、PC等),所有的软件一次生成后,到处适用。尽管跨平台和跨设备的特性在1995年出现的Java中就已经实现,但跨语言的特性,即多种语言运用于同一段程序中,是首次提出的;易用的、标准的数据交换和异构系统整合规范,基于的XML的数据传输及基于Web Service的开发体系为分布式应用程序提供一个优秀的开发平台,使得分布式应用能够安全、高效、有组织地运行;而能够方便地从原有的技术移植的特点又使.NET平台能很好地继承原有技术开发的应用,实现很好的兼容性。
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

    所以采用.NET平台来开发基于XML标准来的下一代跨平台、跨语言、跨终端网络视频监控成为了我们的必然选择。
——可——编——程——控-制-器-技——术——门——户

3  系统方案设计
WWW_PLC※JS_COM-PmLC-技.术_网

3.1 系统整体结构设计
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

 
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

WWW_P※LCJS_CO※M-PLC-技-.术_网

    图1是系统的整体结构图。图中的层次划分是基于系统级的,即不区分系统服务端和客户端(即监控端)的整体划分。HTTP 不是有效率的通讯协议,而XML 还需要额外的文件解析(parse),两者使得消息、数据处理的速度大大降低,然而网络视频监控系统着重要传输的是数据量相对巨大的视、音频数据,如果也用XML封装、传输,监控的实时性恐难保证。所以这里我们把系统的应用层分为两个部分:应用程序模块和多媒体数据模块,把视、音频数据单独放到多媒体数据模块单独处理。多媒体数据模块包括视频数据库和实时视频流数据,这里是系统的数据大户,如何高效的传输是系统成功与否的一个关键。这里我们的方案是采用目前应用广泛的RTP协议和RTCP协议。RTP(Real-Time Transport Protocol)是一种用于实时传输多媒体数据的端到端的应用程序级别的协议[4]。它的主要功能就是提供编码、定时间戳和提供各帧数据序列号的功能。同时我们使用作为RTP协议一部分的RTCP协议来实现多媒体传输的反馈控制即QoS保证。系统中我们使用UDP作为RTP的底层传输协议,而不是TCP协议。因为TCP协议中的报丢失重传机制和拥塞控制机制会造成较大的时间延时,使系统的实时性降低。而我们使用UDP所造成的传输可靠性的降低可以通过上层的RTP协议自身良好的传输控制性能本身来弥补。应用程序模块处理非视频数据的消息和简单数据,主要负责控制消息和简单数据处理,控制消息类型包括:云台、摄像头控制,系统管理(登录管理、故障报告等),用户管理(用户添加、密码修改等),实时视频监视控制(开始监视、中断监视、回退查看等),视频记录查询命令(查看视频数据库的查询命令),其他功能(运动检测报警等)。应用程序模块的消息和数据采用XML封装,然后经由HTTP协议在Web服务器和客户端之间传输, 在保证了系统的终端兼容性、跨平台能力的同时也能够保证传输效率。这里要指出的是,如前所述,出于效率的考虑,本方案的多媒体数据模块的多媒体数据并非XML封装,所以本系统似乎并不具备“纯正”的“终端无关”性,但由于终端的多媒体数据接收模块和播放插件无论如何都是需要下载到本地的(只需一次,在用户第一次登录系统并注册后),所以我们可以确保多媒体数据编码格式对终端是适应的。由于接收模块和播放插件相对于应用程序模块中如系统管理、用户管理等功能块要稳定得多,用户不必担心需要经常升级(即重新下载)的麻烦。
W1WW_P4LCJS_COM-PLC-技.术_网

3.2 服务器端和客户端内部结构
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

WWcW_PLCJS_COM-PLC-技.术_网

 
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

P.L.C.技.术.网——可编程控制器技术门户

      图2描绘了系统服务器端和客户端的内部结构。在客户端,所有功能最后集中在浏览器中展现。上层的系统管理、用户管理、播放控制、多媒体数据库查询编辑等功能是用户看得见并可直接操作的模块。然而这一切功能,除了用户管理等一些不涉及到多媒体数据的功能操作之外,所有的功能模块是建立在客户端的核心:多媒体数据传输插件和多媒体播放插件的基础之上的。其中多媒体传输插件负责从服务器端接收多媒体数据,其中包括缓冲、同步、速率控制等功能,它服务于多媒体播放插件,向其提供接收到的多媒体数据。而多媒体播放插件应提供友好的控制功能,如缩放、暂停、记录、回放等,其中包括缓冲、同步、解码、显示等子模块。在服务器端,我们将系统除多媒体数据处理、传输外的所有功能以Web Service的方式提供,以增强系统的可扩展性。我们采用SOAP作为Web Service的XML数据消息传递的协议。SOAP作为目前十分流行的分布式交换协议,具有简单和可扩展性好的优点,它有效地将XML和HTTP结合起来。如图所示,在Web Service的服务管理模块中,所有的控制消息和简单数据(即所有XML封装的数据)都按SOAP协议进行传递,即在发送和接收消息时分别要经过SOAP Generator(SOAP 生成) 和SOAP Parser(SOAP 解析)。多媒体服务管理接口模块(以下用MMSMI)提供了请求服务管理模块(以下用RSM)与多媒体服务模块(以下用MMS) 之间的接口,如当RSM收到客户端请求实时监控连接的时候,RSM向MMSMI发出请求,MMSMI 通过多媒体同步管理(以下用MMSM)和多媒体自适应管理(以下用MMAM)两个子模块来激活MMS与客户端的多媒体数据传输,其中MMSM子模块用于选择视、音频源(因为有的系统有多个摄像头源,加上多媒体记录数据库也看作是一个源)和应用层级别的媒体传输同步控制,而MMAM模块用于控制MMS的音视频编码模块,根据终端可能的特殊的编码要求来调整编码方案。此外,MMSMI还可以利用请求或控制命令调用MMS模块功能接口,从而实现激活、中断多媒体数据传输,音视频源切换,码率控制等功能。MMS模块由通用音视频数据采集模块(以下用GAVA)、音视频编码(以下用AVE)、多媒体数据库(以下用MMDB)、传输控制模块(以下用MMTC)。其中GAVA模块建立于标准采集卡驱动程序和数字摄像机驱动程序基础上,向AVE提供统一音视频数据输出接口,这样系统可接入遵守标准的任何视频采集卡或数字摄像头。AVE模块应包含多种编码子模块供MMSMI选择,以适应不同终端的需求。MMDB存储过往视频监控记录,在响应客户查询、检索的同时,由AVE模块动态的添加新视频数据文件并扩充数据库接口。MMTC模块提供按RTP/RTCP数据封装、解析,传输缓冲,码率控制,传输质量反馈等传输层功能。需要强调的是,尽管多媒体服务模块即MMS的工作是受Web Service控制的,但它又是相对独立于Web Service的,它与终端的数据接收插件的通信是独立于其他基于SOAP协议的消息和控制命令的传输的,比如它可以和Web Service分别运行于不同的服务器。
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

4. 系统实现
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

     我们在.NET平台上实现了上述方案的一个简单实例。首先我们使用ASP.NET[5]开发客户端操作控制程序(.aspx形式的Web页)和基于XML的 Web service。ASP.NET封装了完成SOAP协议通信的基本模块,这给我们开发Web service带来了很大的方便,我们无需自行实现繁琐的SOAP Parser和SOAP Generator,这些ASP.NET都已经帮我们解决了。这样我们可以把精力集中在系统功能实现和整合上。然后我们用Visual C .NET[6]开发出服务器端组件MMS.dll,实现多媒体服务功能,它的内部功能又是分别通过组件TranCtrl.dll(传输控制模块)、codec.dll (编码模块, 这里为了简便,利用Microsoft的Window Media Series 9组件开发,采取MPEG-4编码器)、DataAcq.dll (采集模块),需要指出的是,我们这里把这四个组件制作为非托管(Unmanaged)组件,因为.NET的托管(managed)代码要牺牲一定的运行效率,而这四个处于服务器端的组件,特别是编码器codec.dll的对运行效率的要求非常高,所以考虑到我们测试服务器的能力我们这里舍弃了.NET的托管能力。但如果实际应用中服务器的性能优异或采取分布式服务器的话,我们还是推荐将上述四个组件开发为托管组件,这样这些组件方对服务器系统平台也可以无关了。最后,我们用Visual C .NET开发托管的客户端Active控件VideoViewer.ocx(用于视频播放模块)和DataRcpt.ocx(视频数据接收模块),把它们嵌入到客户端操作控制程序中去。因为解码相对编码占用系统资源小得多,而且这两个组件均处于客户端,所以我们完全可以采用托管方式,而且为了实现终端平台无关性我们也必须采取托管方式。将系统整合后,我们分别使用安装了.NET framework的基于Windows的PC终端和基于Linux的PDA都实现了对服务器实时监控现场视频的查看和控制,证明了方案的可行性。
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

5. 结论和展望
WWW_P※LCJS_CO※M-PLC-技-.术_网

.    NET技术的出现,必将带来计算机模式和软件运营模式的革命,对网络商业的影响也极其深远。本文提出的基于.NET的下一代网络视频监控系统方案具有跨平台和跨设备的特性,同时系统还具有可重用、易扩展、易升级的优点。我们依方案开发出的试验系统也证明了方案的有效性。然而,如前面所提到的,由于音视频数据的特殊性我们目前不能采取对其进行XML封装传输,所以系统还不是“纯正”的“跨终端设备”。但随着终端和服务器运算能力的逐步提高和网络带宽的逐步提升,我们最终可以将音视频数据进行XML封装,并使用SOAP协议来实现高效实时传输,这也是我们未来要进一步做的研究工作。
WW.W_PLCJS_COM-PLC-技.术_网

参考文献:
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

[1] .NET Framework Home  http://msdn.microsoft.com/netframework/
P.L.C.技.术.网——可编程控制器技术门户

[2] XML Extensible Markup Language. http://www.w3c.org/xml
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

[3] 刘政敏,牛艳芳. XML 相关技术综述.现代情报 .2003.8. 57-59.
WW.W_PLCJS_COM-PLC-技.术_网

[4] H. Schulzrinne, S.Casner, R.Fredrick and V.Jacobson “RTP: A transport protocol for real-time applications”, RFC 1889, Jan.1996
——可——编——程——控-制-器-技——术——门——户

[5] 王文龙,刘湘宁译. ASP.NET技术内幕。北京人民邮电出版社. 2002-04
WWW_P※LCJS_COM-PLC-)技.术_网

[6] 蔡众众,范宏,咸容禹。VISUAL C .NET编程详解.电子工业出版社。  2002-05
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

 
W1WW_P4LCJS_COM-PLC-技.术_网

 
WWW_P※LCJS_COM-PLC-)技.术_网

本新闻共2页,当前在第11 2  
WWW_PLCJS@_COM%-PLC-技.术_网

评论内容
载入中...
载入中...
P
L
C



|










|


P
L
C









·最新招聘信息
·最新求职信息
·推荐产品
·推荐厂商
·栏目热门排行
·站内热门排行