《远程视频监控系统中网络通信模块的设计.pdf》由会员分享,可在线阅读,更多相关《远程视频监控系统中网络通信模块的设计.pdf(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、产品设计与实现_ I 即r q M U m 鲁g e o I 竹2 0 0 93远程视频监控系统中网络通信模块的设计张明杰西安邮电学院信管系,陕西,7 1 0 0 6 1【摘要】针对远程视频监控系统需要将多个现场视频数据方便、高效地通过计算机网络传送到多台监控主机上的要求,文章介绍了一种基于过滤器技术的远程视频监控系统网络通信模块的设计,并详细阐述了网络通信模块中网络过滤器以及组播传输方式的实现方法。该通信模块在实际应用中效果良好。【关键词】远程视频监控网络通信模块D i r e c tS h o w过滤器C O MI P 组播一、引言远程视频监控系统在各个领域都有着广泛的应用,是当今大型企业
2、、银行、厂矿等信息交流广泛的企业生产和管理的必备系统。如何将多个现场的监控数据方便、高效地通过计算机网络传送到多台监控主机上,是远程视频监控系统需要解决的一个主要问题。因此,在远程视频监控系统的开发中,最关键的部分是网络通信模块的设计。笔者在煤矿远程视频监控系统的开发过程中,采用V i s u a lc+编程工具,运用面向对象的程序设计思想和D i r e c t S h o w 技术,实现了以组播方式的多路视频的远程监控和传输。二、网络通信模块的设计系统的网络通信模块的主要功能是以组播方式发送和接收网络视频流,它的实现主要是网络传输过滤器的开发,包括网络发送过滤器和网络接收过滤器2 个部分,
3、如图l 所示。网络发送过滤器用于处理经压缩编码过滤器编码后的视频流,将数据流分块打包后发送出去;网络接收过滤器用于从网络获取媒体数据并将数据传送到下一级解码过滤器。因此,网络通信模块设计的关键是网络通信过滤器的开发。一4 4 一三、过滤器开发技术在对网络通信系统的过滤器设计中,由于媒体格式、压缩方式、硬件属性等方面的特殊要求,使用开发软件自带的标准过滤器往往不能满足要求,用户经常需要自行开发过滤器,因此,就引入了过滤器开发技术。D i r e c t S h o w 是微软公司推出的新一代基于C O M 的流媒体处理的开发包,提供了很多标准过滤器(F i l t e r)供用户直接使用,同时为
4、过滤器组件开发提供了一套基类库(B a s eC l a s sL i b r a r y),包括过滤器基类、针脚基类和一些辅助类。基类库为过滤器组件的开发提供了一个框架,省去了复杂的底层编码工作,因此,本文选择D i r e c tS h o w 开发过滤器组件,主要工作集中在以下2 个方面:传输和处理媒体流;将过滤器封装为C O M 组件。羚过滤器l7”视频接收l I过滤器l1图1 视频网络通信流程图1,媒体流的传输和处理为了传输数据,用户过滤器首先要与过滤器图中麟一一一一一 Hj 厂_一一一一茎|一万方数据2 0 0 93其它过滤器连接起来。连接时要进行媒体格式和内存分配器的协调。过滤器
5、之间通过针脚相连。过滤器之间媒体格式和内存分配器的协调实际上是通过针脚之间的通信完成的。主动连接方的过滤器的针脚首先获取自身支持的所有媒体格式,然后将其中1 种格式送交给被动连接的一方。被动方的针脚进行判断:如果被动方支持该格式,媒体格式协调成功;如果被动方不支持该格式,就通知主动方,主动方再提供1 种不同的格式送交被动方,直到被动方支持被提供的格式,协调成功,否则,当主动方用完所有支持的格式,协调失败。D i r e c tS h o w 过滤器使用一种称作内存分配器(A l l o c a t o r)的C O M 对象管理媒体流数据。在连接2个过滤器前,其中一个过滤器上的针脚提供1 个内
6、存分配器,另外一个过滤器上的针脚对该内存分配器进行检测。当2 个针脚都支持该内存分配器时,协调成功。开始传输媒体流之前,内存分配器负责创建一系列内存缓冲区。媒体流传输时,上游(U ps tr e a m)过滤器填充这些缓冲区,并将它们传送给下游(D o w n s tr e B f f r l)过滤器。D i r e c tS h o w 使用一种称作媒体采样包(M e d i aS a m p l e)的C O M 对象管理单个缓冲区。通过控制媒体采样包对象可修改当前缓冲区中的媒体类型、时间戳等信息,也可利用算法处理媒体数据,从而实现对媒体流的处理功能。2、C O M 组件的实现C O M
7、组件的实现包括以下内容:用接口规定过滤器组件对外提供的功能;提供类厂,用以创建C O M 对象的实例;提供C O M 对象所在d U 文件的各个辅助函数,以完成C O M 组件在应用程序中的载入和释放、在注册表中的注册和注销。D i r e c tS h o w 中的过滤器、针脚等C O M 对象通过接1 3 对外提供各种功能。除了提供标准的接口之外,D i r e c tS h o w 还提供了D E C L A R E I NT E R F A C E 宏让用户自定义接口,从而满足用户对过滤器组件的指定要求。C O M 实现机制中用类厂创建C O M 对象实例。D i r e c t S
8、h o w 提供了类厂类C C l a s s F a c t o r y 和类厂模板类C F a c t o r y T e m p l a t e。通过将不同的类厂模板的内容填入类厂,实现不同的类厂对象,从而创建不同的C O M 对象实例。产品设计与实现。材嘴w t 柏镪惭口守-臼B m过滤器是d l l 文件格式的C O M 组件,需要以下函数:D l l M a i n(载入时的入口)、D 1 1G e t C l a s s O b j e c t(创建类厂对象)、D l l C a n U n l o a d N o w(判断是否释放d 1 1)、D l l R e g i s t
9、 e r S e r v e r(在注册表中注册d 1 1)、D l l U n r e g i s t e r S e r v e r(在注册表中反注册d U)。D i r e c t S h o w 已经实现了前3 个函数,后面的2 个函数通常调用D i r e c t S h o w 中的函数A m o v i e D l l R e g i s t e r S e r v e r 2()实现。四、网络通信模块的实现本系统中网络过滤器的开发是以微软D i r e c t X 9 0S D K 示例为基础实现的。1、网络通信过滤器的实现(1)网络过滤器的基本框架网络滤器的基本框架代码如下:
10、C l a s sC l n p u t P i n 定;义过滤器输入引脚类由C B a s e l n p u t P i n 派生C l a s sC N e t w o r k S e n d 定义一个由C B a s eF i l t e r 基类派生的类C l a s sC N e t O u t p u tP i n 定义过滤器输出引脚类由C B a s e O u t p u tP i n 派生C l a s sC N e t w o r k R e c e i v e r F i h e t 螈兰义一个电C B a s eF i l t e r 基类派生的类(2)网络过滤器的具
11、体实现在网络过滤器的具体实现中,要考虑所采用的视频编解码器的媒体格式的特征。本文采用D i v X N e t w o r k s 公司的D i v X 5 0 2 编解码器实现视频图的压缩、解压缩编码处理,并在G e t M e d i aT y p e i 垂i 数中定义媒体格式代码。网络发送过滤器中G e t M e d i aT y p e 函数的部分代码:C M e d i aT y p e 牛p m t;p m t 一 S e tT y p e(&M E D I A T Y P E _ V i d e o);股置媒体主类型p m t-S e t S u b t y p e(&T I
12、 M E F O R M A T _ N O N E);_ 没置媒体次类型为任意类型网络接收过滤器q j G e t M e d i aT y p e 函数的部分代码:p m t 一 S e tT y p e(&M E D I A T Y P E _ V i d e o);,设置媒体主类型p m t 一 S e t S u b t y p e(&D I V X);设置媒体次类型为D I V X一4 5 万方数据产品设计与实现o-,一t,e e 删蚀t 竹2 0 0 93p i n t 一 S e tF o r m a tT y p e(&F O R M A T _ V i d e oI n f
13、 o);股置媒体格式p m t 一 S e t S a m p l e S i z e(p v i-b m i H e a d e r b i S i z e I m a g e);价殳置媒体采样包大小2、组播传输的实现W i n d o w s 环境下组播通信是基于W i n d o w s s o c k e t的。S o c k e t(套接字)是一种基于T C P I P 的网络编程接口。采用客户服务器通信模式,客户端和服务器端通过S o c k e t 接门在网络上实现连接和数据交换。S o c k e t 提供了一系列系统调用,使用户可以方便地使用T C P 和U D P 等网络协
14、议实现通信。W i n s o c k 定义并记录了如何使用A P I 函数与T C P a P 连接。应用程序通过调用W i n s o c k 的A P I 函数实现相互之间的通信,W i n s o c k 又利用下层的网络通信协议和操作系统调用实现实际的通信工作。应用程序与W i n s o c k 之间的关系如图2 所示。l 应用程序卜卜叫应川程序I网络编程接口图2 应用程序与W i n s o c k 之间的关系示意图S o c k e t 是网络编程中的一个重要的概念,由通信双方的l 组I P 地址和应用程序的端E l 号组成。通过I P 地址可以唯一地确定网络上的1 台主机,而
15、通过端1 3 号又可以唯一确定该主机上的1 个应用进程,这样通过S o c k e t 就可以在网络中唯一确定通信双方的进程,进而可以唯一确定网络中的1 条通道。W i n d o w sS o c k e t 为I P 组播的实现提供2 种不同的方法:W i n s o c k l 与W i n s o c k 2。在本系统中实现了基于(上接第6 1 页)近年来国内的大学等研究机构已经将注意力集中到智能视频监控的研究中,在一些基础理论和关键技术方面,已经具有一定的基础,如果政府能够-4 6 W i n s o c k 2 的组播通信编程。咖实现的流程如图3 所示。发送端绑定设胃与I P 组播
16、相关的属性收点端建立I P 组播套接字绑定加入相应的I I 吁羁播组停止发送数据离开组播组ll 停止发送数据离开组播组图3I P 组播实现的流程图五、结语本文主要讨论了远程视频监控系统中网络通信模块的设计以及网络通信模块的具体实现方法。实验证明,利用过滤器开发技术可以方便高效地实现视频数据的传输,很好地解决视频监控系统通用性差、可扩展性不强的问题。笔者在研究开发煤矿安全视频监控系统中,利用过滤器开发技术实现了远程监控系统中网络通信模块的开发,应用效果良好。【参考文献】陆其明D i r e c t S h o w 开发指南【M】北京:清华大学出版社2 0 0 3【2】M i c r o s o
17、f t M i c r o s o f tD i r e c t XM e d i aS D KD o c u m e n t M R e d m o n dW a s h i n g t o n:M i c r o s o f tP r e s s,2 0 0 0【3】盛健,季晓勇D i r e c t S h o w 过滤器组件开发技术及其应用实例】微型机与应用,2 0 0 4(1):4 7 4 9【4】胡毅,胡咏梅,单玉峰等基于网络的多媒体远程监视系统的研究与实现U】计算机应用研究,2 0 0 0,1 7(9):1 0 0 1 0 3 转自工矿自动化2 0 0 9 年第1 期予以科技支撑
18、方面的支持,加上应用部门的强烈需求,国产监控企业的逐步发展壮大,预计在未来的5-1 0 年,将是我国全面转入智能4 釜控产业的大好时机。转自电视技术2 0 0 9 年第1 期万方数据远程视频监控系统中网络通信模块的设计远程视频监控系统中网络通信模块的设计作者:张明杰作者单位:西安邮电学院信管系,陕西,710061刊名:安防科技英文刊名:SAFETY&SECURITY TECHNOLOGY年,卷(期):2009,(3)引用次数:0次 参考文献(4条)参考文献(4条)1.陆其明 DirectShow开发指南 20032.Microsoft Microsoft Direct X Media SDK
19、Document 20003.盛健.季晓勇 DirectShow过滤器组件开发技术及其应用实例期刊论文-微型机与应用 2004(1)4.胡毅.胡咏梅.单玉峰.王成梅 基于网络的多媒体远程监视系统的研究与实现期刊论文-计算机应用研究2000(9)相似文献(3条)相似文献(3条)1.期刊论文 张明杰 远程视频监控系统中网络通信模块的设计-工矿自动化2009(1)针对远程视频监控系统需要将多个现场视频数据方便、高效地通过计算机网络传送到多台监控主机上的要求,文章介绍了一种基于过滤器技术的远程视频监控系统网络通信模块的设计,并详细阐述了网络通信模块中网络过滤器以及组播传输方式的实现方法.该通信模块在实
20、际应用中效果良好.2.期刊论文 张明杰.ZHANG Ming-jie 基于过滤器开发技术在远程视频监控系统中的应用研究-电脑知识与技术2008,4(28)该文介绍了过滤器开发技术以及它在远程视频监控系统中的应用.阐述了使用过滤器开发技术在远程视频监控系统中实现网络通信模块的设计思想和实现方法.实践表明,过滤器开发技术在网络通信开发方面具有很大的优势.3.学位论文 王敏 嵌入式视频监控系统网络通信模块的研究与实现 2008 随着科技进步和人民生活水平的不断提高,基于嵌入式DSP的远程视频监控系统在工业生产、国家安防、日常生活中得到了广泛的应用。远程视频编码传输技术融合了计算机、多媒体、通信及网络
21、等多项技术,成为人们研究的热点之一,本课题对于实现跨网功能的远程视频监控系统研究,具有广阔的应用前景和实用价值。本文从远程视频监控系统设计的基本要求出发,通过研究基于NexperiaPNX1303的视频监控系统,使之在原有本地局域网络传输功能的基础上,进一步设计并实现了视频流和控制流跨网传输以达到远程监控的目的。针对DSP技术的升级和换代,本文还将对基于NexperiaPNX1500和TargetTCP独立协议栈的网络驱动的设计过程进行深入地研究。主要工作如下:通过深入研究现有的网络穿越技术和内网与公网之间的通信特点,设计跨网传输的方案并制定统一的通信传输协议和控制协议。根据设计方案的要求,完
22、成内网和公网两个视频中转服务器软件的编写工作,并重新设计对原有基于PC平台的监控中心软件界面和网络模块。同时,完成基于PNX1303平台的嵌入式视频终端网络模块的调试。此外,系统还实现了一个嵌入式视频终端被多个用户浏览和一个监控中心(用户)可以同时访问多个嵌入式视频终端的功能。通过深入研究NexperiaTSSA软件结构的程序开发编译环境,编写NexperiaPNX1500平台上的网络驱动程序和测试程序,并完成其调试过程。在该系统中采用一种独立于操作系统的TCP/IP协议栈,将为不同平台上的网络驱动开发简化相应的工作和实现代码的最大重用。为了测试系统的性能,本文给出了详实的实验过程,通过实际系统运行结果表明,在该网络体系结构上运行的视频通信网络模块较好地实现了本系统中关于视频和控制的跨网传输功能。本文链接:http:/