APP下载

无线Mesh网络视频监控系统客户端软件设计*

2010-09-17孟燕伟莫金旺

电视技术 2010年1期
关键词:监控点解码客户端

孟燕伟 ,赵 利 ,莫金旺

(桂林电子科技大学,a.信息与通信学院;b.信息科技学院,广西 桂林 541004)

1 无线Mesh网络的特性及优势

无线Mesh网络(WMN)是一种基于多跳路由和对等网络技术的宽带无线网络,具有自组网、自修复、自配置和多跳级联等特性[1]。因此,视频监控系统中引入WMN技术后,将具有如下特点:

1)施工容易,节约成本。WMN仅需少量的网络布线,基本不用建设新的网络基础设施,结合整体规划可最大限度降低建设成本。

2)部署快捷,扩展灵活。WMN具有自组网和自管理能力,视频监控点接入监控网络后,能自动与监控中心建立最佳的传输路由,并且视频监控点可随时插入和删除。

3)具有链路故障自愈能力,传输可靠性高。由于采用无线网状网(Mesh)结构和多跳路由方式,可以利用迂回路由,避开故障节点,不会影响整个网络的性能[1-2]。

4)具有较低的功耗以及网络功耗可控能力,成本低,投资风险较小。

2 基于WMN的视频监控系统

2.1 系统整体方案

基于无线Mesh网络的视频监控系统方案如图1所示。在监控现场,多个具有路由转发功能的终端节点互联构成无线Mesh网络骨干网,视频监控终端负责完成监控现场视频采集、压缩、无线路由及收发数据等功能,并将视频流传输到与监控中心相连的Mesh网关;监控中心接收来自监控终端的视频数据流,并进行解压、播放等处理,同时也可实现本地存储。

图1 基于无线Mesh网络的视频监控系统方案

2.2 系统硬件方案(见图2)

图2 系统硬件方案结构图

视频终端硬件平台围绕三星公司的S3C2440A-40处理器搭建,通过处理器的接口把所需外设集成到系统中。从功能角度来看,系统硬件平台包括微处理器、存储器、以太网接口、CCD摄像机以及电源等单元组成。S3C2440A-40处理器是一款为移动设备和各种多用途应用设计的,内核为ARM920T。考虑到节约成本,系统采用开源的XVID软件对视频数据进行压缩,SAA7113负责把CCD摄像机传来的信号进行A/D转换,视频压缩程序将图像数据压缩为MPEG-4格式后,经USB接口传至S3C2440A-40,数据流经USB接口输出至RT73无线网卡,以IEEE 802.11b/g标准实现无线传输。在监控中心,客户端利用RTP/RTCP协议接收视频数据,对终端的控制则采用面向连接的TCP/IP协议发送控制命令到服务器,实现对终端的控制。

3 网络传输部分

网络传输部分由无线传输和有线传输组成。无线传输为Mesh网络终端之间的传输,视频监控终端将压缩的视频流经USB控制器扩展的USB接口输出到RT73无线传输模块,完成无线发射,有线传输为视频服务器与Internet之间的传输。

为了保证网络的实时可靠传输,系统综合利用了TCP协议和实时传输协议RTP分别完成不同的功能,保证了视频的质量和传输速度。TCP协议负责客户端和服务器之间建立连接、传输控制命令和数据收发相关命令,从而确保控制命令的准确传送。RTP是一种独立于应用程序的网络协议标准,由实时传输协议RTP和实时传输控制协议RTCP组成[3],保证系统提供流媒体数据高效率传输,网络传输程序完成数据包的封装,经RT73无线网卡传送到视频服务器,视频服务器经Internet传送到客户端监控中心。

4 基于DirectShow的客户端软件

DirectShow是微软公司推出的新一代基于COM技术[4]的流媒体处理的开发包,为流媒体的捕捉、回放等处理提供了强大的支持。本文利用DirectShow技术设计了基于无线Mesh网络视频监控客户端软件,软件设计采用C/S模式,基于VC平台的MFC框架[5]。客户端和远程终端通过Socket编程实现在整个网络上通信。系统总体软件结构如图3所示。

图3 系统总体软件结构

4.1 开发工具与环境

开发工具和开发环境有:DirectX 9.0以上版本;Microsoft Visual Studio 2005;Windows XP操作系统。

4.2 软件功能设计

客户端软件由视频接收、视频解码播放及远程控制命令发送模块,模块之间采用共享内存进行通信,其主要功能如下:

1) 视频监控

用户可实现对多个监控点的现场图像进行实时监控,获得与现场端相当帧速率的视频图像,可对每路视频图像的对比度、亮度、色饱和度以及视图大小进行调节。

2) 视频录像

随时可对视频图像连续或选择性录像存储。录像信息中应包括时间、监控点等信息;可进行视频录像回放、视频输出等操作。

3) 控制命令模块

客户端监控中心可以对管辖范围内多个远程监控前端进行实时监控,对于不同的管理用户,分配不同的控制权限。根据权限的不同,管理者通过客户端软件,在权限允许的监控区域内和监控点,实现对监控现场的实时监控、对摄像机镜头和云台进行控制和管理实现对前端监控设备进行远程调控。

4) 系统安全

只有通过输入授权且正确的用户名和密码登陆后方可进行远程监控。

4.3 主要模块设计与实现

4.3.1 视频接收模块

为了能同时接收来自终端的多路图像,在程序中采用了Windows界面设计和多线程技术,每个线程创建一界面窗口,负责一路视频流的接收和播放。客户端的视频数据接收流程如图4所示。

图4 视频数据接收流程图

具有相应权限的用户通过口令登录客户端,并完成初始化,选定某一路视频请求与相应终端连接,发送自己的用户名和密码给服务器验证访问用户的合法性。验证成功后,输入服务器视频终端的IP地址,向服务器发送视频数据请求,当得到服务器返回的确认消息后,启动接收数据接收线程,视频数据就通过网络传给客户端的视频接收缓冲区内,客户端开始接收视频数据。

视频接收模块负责接收从网络传来的视频数据,本文监控系统中视频数据的格式是MPEG-4,由于Direct-Show没有提供标准的从网络接收MPEG-4数据的Source Filter,笔者设计了一个推模式的网络源过滤器(其输入Pin为推模式),当网络有数据到达时,则主动发送给该Source Filter,它只有一个输出引脚。其主要功能在类 CReceiver Filter实现,继承于CSoure类,设定它的媒体类型为 majortype=MEDIATYPE_Video;mt.subtype=CLSID_XVID。Source Filter创建完成后,通过调用接口的方式将其加入到FilterGraph对象中。

主要程序实现描述为:

4.3.2 视频播放模块

视频播放模块实现视频的实时播放,同时还可对存储的视频文件进行视频回放,其实现流程如图5所示。客户端接收到的视频数据信息后,经过解码过滤器解码即可进行视频回放或视频存储实现客户端对终端视频监控图像的访问,客户端可根据客户需要选择同时显示多路视频图像。

图5 视频播放模块实现流程图

系统中视频压缩格式为MPEG-4,所以笔者选用了Xvid Codec作为MPEG-4的核心解码库,其解码器源代码是开放的。通过调用Xvid的MPEG-4解码核心代码来完成视频数据解压缩。过滤器中设计了一个CXvidDecoder类,继承于CVideoTransformFilter,作为解码过滤器框架。在CXvidDecoder类包含了Xvid核心解码库。解码过滤器收到数据包后,激活Xvid解码器,然后检查是否指定了输出媒体类型。 如果是,则根据指定的媒体类型调用相应的色彩空间转化表,设置解码后媒体类型;解码时,先获得输入视频数据包的指针和长度,将其拷贝到MPEG-4解码器的缓存中。由于MPEG-4采用面向对象的编码,其数据包的长度可根据监控现场变化自动调整。MPEG-4解码器能自动识别每帧图像的数据量;缓冲区中多于一帧的数据量作为下次解码的开始数据,如果缓冲区不够一帧图像解码数据,则返回等待下一个数据包读入后再解码,然后将解码的数据包打上时间戳,按顺序进行回放。

4.3.3 创建Filter Graph

当解码过滤器开发完成后,在系统中注册,以供应用程序调用。创建Filter Graph时,只需调用接口的方式将Source Filter加入到FilterGraph对象中,根据MPEG-4 Video Decoder的CLSID创建它的实例,使用IflterGt aph::AddFilter接口方法将其加入到Filter Graph中[6]。通过IGraphBuilder::Connect接口方法将其连接起来,然后运行Filter Graph即可实现播放。

4.3.4 远程控制模块

实现远程控制就是在监控中心通过客户端软件,利用计算机鼠标或键盘相应操作来向终端服务器发送命令来实现对监控点的摄像机的参数及云台进行控制。当服务器接收到来自客户端的命令后,调用云台控制程序,对串口进行相应的读写操作,经云台解码器解码后直接对摄像头或云台电平变化来实现对云台控制。由于控制命令准确性要求较高,数据量较小,所以采用了提供可靠连接传输协议TCP/IP进行传输,用户可以根据监控场合、用途和功能的不同对串口采取不同的配置,在程序运行后也可随时对串口的参数设置进行更改。

5 系统测试

系统测试在某社区路口进行,设置了5台视频监控终端安置于监控点,各监控点之间的距离约为200 m,监控主机通过IEEE802.11b/g标准的无线网卡接入Mesh网络,从任一监控终端获取Xvid-MPEG-4格式的视频流,采用所开发的客户端软件完成终端设置、视频接收、解码播放等。测试结果表明,画面播放流畅,实时性较好,视觉效果令人满意。在进行主动丢包测试时,当丢包率达到10%时,图像会出现少量的马赛克,但播放依然流畅,完全可以满足当前视频监控市场的要求。

6 小结

基于无线Mesh网的视频监控系统由于其独特优势,与其他无线视频监控系统相比具有较高的性价比,且安装使用方便。由于MPEG-4的差错恢复能力强,对各种网络有较强的适应能力。在网络带宽更小的情况下,通过降低监控画面质量,得到更小的码率,以节约带宽。随着无线Mesh技术的进一步发展和完善,其必将在多种领域有着广阔的应用前景。

[1]AKYILDIZ I F,WANG Xudong.A survey on wireless Mesh networks[J].IEEE Communications Magazine, 2005,43(9):23-30.

[2]BRUNO R,CONTI M,GREGORI E.Mesh networks:commodity multi-hop Ad Hoc networks[J].IEEE Communication Magazine, 2005,43(3):123-131.

[3]潘鹏,杜旭,叶婷,等.RTP/RTCP实时传输协议的研究与Linux实现[J].计算机工程与应用,2005(24):105-108.

[4]POGERSON D.COM技术内幕——微软组件对象模型[M].杨秀章,译.北京:清华大学出版社,1998.

[5]郭晓鹏,李存斌.Visual C++高级编程及其项目应用开发[M].北京:中国水利水电出版社,2003.

[6]陆其明.DirectShow开发指南[M].北京:清华大学出版社,2003.

猜你喜欢

监控点解码客户端
《解码万吨站》
石化工业区环境空气污染监控点选取分析
解码eUCP2.0
如何看待传统媒体新闻客户端的“断舍离”?
高速公路室外监控点一体化智能箱设计浅析
NAD C368解码/放大器一体机
Quad(国都)Vena解码/放大器一体机
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
客户端空间数据缓存策略