1、1分布式网络监控系统设计在网络条件不断改善,流媒体技术不断进步的条件下,基于纯 IP 的网络视频监控解决方案越来越显示出其优势,主要表现在系统结构简单,扩展性好部署和维护成本低等方面。虽然目前市场上的相关终端产品还不能完全满足需求但相信随着时间推移,这种解决方案必然会得到大规模的应用。本文的创新点是构建了跨地域多节点网络视频监控系统的概要模型,提出了监控系统中心节点的摘要策略。基于摘要策略的分布式网络监控系统(Distributed VideoMonitoring System Based DigestStrategy 以下简称 DDSVMS)的原理主要有以下几点:1基于 lP 的摄像机终端基
2、于模拟摄像机的监控系统当然也可以实现远程监控,但这种方案缺点比较突出,其一是安装调试比较麻烦,且成本很高。模拟监控系统的布线费时费力,相对而言 IP 网络现在已经比较普及了。其二是在实现远程监控时还必须经过模拟视频信号到 IP 视频流的采集发布过程,增加了系统复杂程度,不易维护。其三是这种系统灵活程度低,对于将来系统的扩容不利。基于以上考虑,本系统采用纯 IP 的解决方案。终端设备采用 IP 摄像机,这种摄像机本身运行一个嵌入式系统能够直接把镜头所拍摄的动态画面经过编码之后通过流媒体服务的方式提供给用户。摄像机也可以通过 web 界面进行配置。并且可以使用摄像机厂商提供 SDK 开发包。根据需
3、求定制开发监控软件并进行系统集成。2.中心端与多节点协作的分布式架构即:一个中心端监控软件加多个分节点的监控软件构成整个监控系统。之所以采用这种架构,是因为考虑到如果所有的监控和录制工作全部由一个中心端负责,则无论从网络带宽和服务器性能均不可能达到要求。在这个分布式架构中,中心端的功能是:对摄像机终端提供的视频流进行摘要录制。服务器汇聚这些视频流再根据需要进行分发,提供流媒体服务的界面,有关人员可通过互联网在任何位置进行监控。而各节点的功能是:负责对节点下面的所有监控摄像机进行全程实时监控和录制3中心节点的摘要策略可以对每个摄像机终端进行摘要录制和监控以灵活使用有限的带宽。具体做法为:根据带宽
4、情况将终端分为若干组每组终端占据中心节点的一个监控频道。系统对频道里的摄像机终端进行轮巡,只有在轮巡到某个摄像机时,系统才接入该摄像机的视频流。当监控者发觉某个考场有异常时,则可以单独凋出这个摄像机的视频进行持续放大观看。终端的分组和轮巡的时间间隔均可通过 web 方式进行灵活设置。事实上,由于各个节点的录制服务器承担了全程录制的功能,因而在中心节点采用轮巡的方式已经足够满足监控的需求。流媒体服务器:所有需要监控的 IP 摄像机的接人。提供人员监看功能 根据摘要策略模块的指令,分组分时的获取 IP 摄像机的数据,并写入录制服务器中。录制服务器:根据流媒体服务器发送过来的视频数据写入文件。2摘要
5、策略模块:从数据库中获取摘要策略规则。基于 Web 的管理模块:实现 IP 摄像机的参数输入摘要策略编制监看人员的账号管理与权限管理等等。监看模块:提供方便易用的实时视频监看的人机界面。中心节点的业务流程如下:a) 通过 web 管理模块初始化需要监控的 IP 摄像机的参数,编制摘要策略,创建账号。将这些信息写入数据库。b1 流媒体服务器从数据库读取 IP 摄像机的参数,账号信息。e)摘要策略模块从数据库读取摘要策略。并与流媒体服务器交互,不断给出指令,流媒体服务器根据指令获取 IP 摄像机的视频数据。d)流媒体服务器将 IP 摄像机的视频数据发送给录制服务器,录制服务器进行保存。e)监看模块
6、接人流媒体服务器,流媒体服务器根据监看模块的指令将视频数据发回以便监看4双流传输就远程监控的需求而言,一方面希望能够将监控嘶面清晰的进行录制,另一方面也希望能在远端相对流畅的进行监控。目前,一般节点的局域网内部基本都是千兆骨干,具备比较大的带宽,可以支持较高码流的图像;但在公网上,各节点的接人带宽并不一样,而且公网带宽的抖动比较大目前还不可能支持非常大的码流。针对实际状况,系统设计了双流传输方案即摄像机本身提供一个较高分辨率(高码流)的视频流,可供节点进行高清晰的监控和录制;然后由节点服务器对视频流进行再编码,降低图像分辨率和码流后再提供流媒体服务,这样远端监控点可以进行相对流畅的监控。3 D
7、DSVMS 关键部分的设计与实现1摄像机终端的兼容性设计在本系统的实际应用中,需要接人多种 IP 摄像机,并且考虑到系统一定范围的普适性以及可扩展性,我们需要在设计时考虑到不同硬件厂商生产的 IP 摄像机。以下是系统中关于 IP 摄像机终端模块设计的 c+代码:Class CIPCameraPrivate:Int m_ GlobalID;像机在全局的编号Char re_ Name256;,i 聂像机文字性型号说明,供界面显示。lnt re_ Typet描述摄像机的型号。同时对应不同的 IP 摄像机厂商协议Char m IP321;lnt re Port;Char m_ Username256;
8、Char re_ Password【256】;Public:3ClPCamera(int GloballD); CIPCamera0;virtual int Connect();,连接摄像机virtual int Close0;H3闭到摄像机的连接virtual void ProcessCameraData(char b 吐 int len);void AddWatch(Cwatch w);void DeleteWatch(Cwatch w);static void CameraData_ Callback (chap*buint len,DWORD呻 ra)I,摄像机数据的回调函数l;对应实
9、际的不同厂商的摄像机,可以从 CIPCamera 派生对应的类,同时根据不同的 IP 摄像机厂商协议。重载 ConnectCloseProcessCameraData 三个函数完成具体工作。ProcessCameraData 根据监看列表 WatchList。将视频数据发到监看模块,将视频数据发到:录制服务器。2 摘要策略的设计将全局的摄像机进行分组,一般是将一个子节点的摄像机编为一组。同时设定组内每个摄像机被监控的时间片。摘要策略模块通过一个 Timer不断计算每个摄像机的时间,及时地指令流媒体服务器。以下是关于摘要策略设计的 c+代码:Class CGroup(Private:Int m
10、CameraList128;摄像机的列表 Int m_ CameraCount;摄像机的数量Int re_ Index;当前正在摘要监控的摄像机Int m_ Span;时间片Public:Cgroup0,一 Cgroup0;void AddCamera(int GloballD);void DelCamera(int GloballD);void SetSpan(int span);-t-位为秒int Tick0;定时计算是否需要改变被监控的摄像机。返回值大于 0。则将返回值作为摄像机全局编号,指令流媒体服务器;流媒体服务器流程:a)从数据库读取 IP 摄像机参数,初始化摄像机列表 Camer
11、aList;b)从网络读取摘要策略模块的指令,在 CameraList 找到对应的摄像机,打开,关闭摄像机。4摄像机将通过回调函数完成具体的操作。c)从网络读取监看模块的指令,在 CameraList 找到对应的摄像机,加入,删除观看对象。d)若服务器终止,到 e,否则到 be)结束摘要策略模块流程:a)从数据库读取策略参数,初始化组列表 GroupListb)计算 GroupList 的时问片若有摄像机需要进入摘要监控,则指令流媒体服务器c)若服务器终止,到 b,否则到 dd1 结束4 DDSVMS 的应用实例DDSVMS 已经在国家网考委所组织的试点高校网络教育公共基础课统一考试视频远程监
12、控中得到了应用。具体应用的考区是江苏考区,该考区分布有 30 多个考点,考点与中心节点之间通过互联网连接,中心节点的接入带宽为 30M 独享。各节点的互联网网络接入大都为 IOOM 共享,但也有部分考点仅有 10 兆共享的带宽。30 多个节点的监控终端大概为200300 个左右。经过实际工作检验,基于摘要策略的分布式网络视频监控系统基本能够满足应用需要但在实施中也有一些问题主要集中在 IP 摄像机终端上。一是由于市场上几乎没有提供高于 352*288 分辨率的 IP 摄像机,因而设计中的双流传输方案未能实现。二是由于大部分考点的网络只有有限的几个合法 IP 地址,IP 摄像机在局域网内都是使用的内部地址,因而在局域网外无法直接访问这些摄像机。我们的解决办法是是采用 NAT 地址转换将内部地址映射到外部地址。但很多考点的网络都装有防火墙,这使得映射比较繁琐。将来如果有提供反向连接功能的 IP 摄像机,则就有可能比较好的解决这个问题。