一、前言
本文针对目前在传统数字视频监控系统中存在的问题进行了研究,针对现有模型系统中存在的一些不足提出了一种新的结构体系,采用分布式服务器的体系结构,在系统中加入了网络管理路由器端,从根本上解决了传统视频监控系统模型的不足。在本系统中一台服务器最大可实现16路H.264视频同时传输,网络管理路由器可实现最多对8台视频服务器的管理,网络中最大可传输128路视频;在客户端,图像清晰并无明显抖动。网络客户端运行界面如图5所示。系统具有良好的可扩展性,因所有的设备都以IP地址进行识别,增加设备只是意味着IP地址的扩充,这就意味着可以任意无缝扩展系统监控主机及远程监控主机。系统采用B/S 模式,客户端只需通过IE浏览器便可实时浏览网络的视频。
二、系统模型的提出
随着视频压缩技术的日益成熟,数字视频监控系统逐渐成为了市场的主流。现有的网络视频监控系统模型普遍都是服务器-客户端体系结构,如图1所示,这种模式存在以下的不足:
1、没有统一的用户管理机制
在只有一个或几个监控点的简单应用中,用户可以通过IP地址直接访问网络监控点。但是随着监控规模的扩大,没有统一的视频资源管理机制带来的弊端就体现出来了。首先,用户很难记忆众多的监控点IP地址;其次,在使用动态IP地址的网络系统中,用户由于无法获得监控点IP地址,而无法访问监控点;第三,由于用户不止一个,当监控点的个数、IP地址等发生变化时,需要通知到每一个用户,以使他们都能访问到新的监控点,这大大增加了管理成本。
2、没有统一的安全管理机制
在网络视频监控系统中,基本的安全机制是进行用户名/密码的身份认证。在只使用网络摄像机的简单监控应用中,所有的身份认证等安全机制由各个监控点独立完成,各监控点彼此独立,没有统一的用户管理。这样,用户的身份认证管理就变得及其复杂:当增添一个新的监控点时,需要为所有的用户在该监控点上建立安全规则;当提升或降低某个用户的权限时,需要在所有的监控点上重建该用户的安全规则;用户维护自己的密码时,也需要谨慎小心,因为他需要对所有的监控点做维护密码的工作。当监控系统达到一定规模的时候,这种用户管理几乎变得不可行。
3、没有统一的视频资源管理机制
在传统的视频监控模型(如图1所示)中,网络中的用户(Client)集中或分散地分布在各个地点。若用户C需要对某一场点进行监控,则向服务器S发送请求建立连接,而后由S向C传送视频信息。然而,由于R点处理能力和出口带宽的限制,易引起网络拥塞,致使许多重要的用户(例如报警时刻管理人员需查看相应视频资料)不能得到服 务造成损失。[1]
为了解决以上的问题,本文提出了一种新的结构模式,如图2所示,在系统中加入了一个新的成员称为网络管理路由器端,由它来控制和调配监控视频的接入和访问服务,所有的用户先与网络管理路由器建立连接,将用户请求发给网络管理路由器,由网络管理路由器根据网络的带宽及被请求服务器的使用情况进行调度,分选出适合的请求给相应的视频服务器,再由视频服务器将视频流发送给用户。
图2 视频监控模型
这种方式的好处在于:网络中多台视频服务器由网络管理路由器统一管理,可以避免由于诸多服务器出口节点处带宽不足而造成的网络拥塞,保证网络不至于因视频接入的无限制增加而造成整个网络拥塞的发生,确保了整个系统运行的安全可靠;在网络管理路由器端进行调度算法,可以更有效地管理服务请求,更加符合系统需求,并且易于调整;网络管理路由器不在视频流的传输路径上,处理能力一般的PC机即可完成,降低系统的成本,提高系统的性能,便于系统的维护。
三、系统的技术实现
1、视音频压缩技术
由于原始模拟视频信号需要很大的带宽,如果视频帧以未压缩的格式传输,不论何种网络平台,视频应用都会使通信媒体的带宽资源紧张。因此,数字视频数据在传输前必须经过压缩,以优化多媒体业务所需的带宽。目前,主要的压缩标准有MPEG-1、MPEG-2、MPEG-4、H.261、H.263、H.264 等。MPEG-1格式压缩率不高(平均只有50:1),需要很高的传输速率。MPEG-2的占用带宽非常大,在4M~15M之间,不太适于远程传输。[3] [5]
H.264编码具有比H系列的其他视频压缩标准节省码流,比MPEG-4算法简单的特点。H.264的良好网络适应性和内在的抗丢包能力、抗误码机制,使它不仅适于IP传输方式,也适合丢包严重、时延和抖动复杂的无线信道。[4]
在本系统中视频数据的压缩方式采用了H.264标准。H.264具有强大的视频/音频压缩引擎,与MPEG-4压缩方式的硬盘录像机相比,压缩比可提高近 30%,大大提高了存储和网络传输带宽,同理采用新的算法极大抑制了由于摄像机噪声导致的图像失真,背景流动现象,使图像质量更加清晰。不仅能满足本地监控、录像和回放检索,还能够满足网络传输的需求。
2、视频传输方式及协议的选择
数字视频的数据量非常大,如果采用TCP传输势必消耗更多的网络资源,因此可以采用UDP协议来发送数字视频数据;对于控制信息,如用户验证、远程监控等数据量不大的信息,可以采用可靠的传输协议即TCP协议来传输。本文开发的数字视频监控系统采用了UDP和TCP等多种视频数据传输方式,在不同的网络环境下可以由用户自行选择。
数字视频远程监控系统的数据通信要求具有较高的实时性、同步性和安全性。为确保视频信息数据的实时性和同步性传输,可采用RTP/RTCP协议,其一般运行在不可靠的协议层UDP上。每个经过RTP/RTCP传输的数据包中有时间信息和一个相关的序列号,这个信息使得应用程序混合音频和视频信息时相对容易。由于应用程序可以很容易地决定当视频帧需要略过时将要跳到的正确数据包号,因此使用和每个信息包相关的时间信息就可以平滑同步过程。另一方面,系统在 RTP会话过程中,周期性地由各端站设备和监控中心设备发送视频信息收发监测数据包,服务器利用收到的这些监测数据包动态改变网络传输速率,实时调整网络带宽,自动调节视频信息发送周期,并控制各被控终端重传丢失和发生差错的数据包,进一步保证了系统中数字视频信息的实时同步正确传输,使各个监控终端能够获得实时有效无失真的监控信息。[4]
在网络传输方式上面综合分析了网络单播、广播、组播的特点,如果采用单播传输技术来实现监控视频的多点传输,则需要在发送者和每个接受者之间占用单独的数据信道来传输数据量巨大的实时视频数据,这将导致发送者负担沉重、延迟长、网络拥塞。而采用广播又极易造成网络带宽的大幅占用,影响整个网络的通信效率。所以采用IP组播的传输方式来实现多个用户监控一个监控点或者多个监控点的功能,同时也能通过IP组播实现多对多的监控模型。
四、系统设计
1、系统硬件设计
系统硬件分为监控前端部分、网络服务器、网络管理路由器端和远程客户端部分。其中监控前端主要有负责获取视频图像的摄像机、安装在摄像机前方的可变焦镜头、带动摄像机和镜头转动的云台、解码器等;网络管理路由器和远程客户端均为高级配置的PC机;网络服务器为内嵌H.264方式的视频压缩卡的工控机,主要负责视频数据的压缩、存储以及响应远程监控端的要求等。系统硬件的组成框图如图3所示。
图3 系统硬件组成框图
2、系统软件模块
从功能上看,监控系统总体分为8个模块。
前五个模块运行于监控服务器端,视频数据接收模块运行于远程客户端,用户管理模块和服务器管理模块运行于网络管理路由器端。各模块的主要功能如下:
1、视频数据处理模块:该模块主要通过视频压缩卡厂商提供的SDK开发包,完成对视频信号进行实时采集、动态存储、实时播放等处理工作。
2、视频录像播放模块:该模块主要对存储在硬盘上的视音频文件进行按条件查询播放。同时可根据录像的时间以及视频源进行检索、回放,自动硬盘存储管理等。
3、云镜控制模块:该模块负责根据解码器协议及命令码,通过串口通信控制云台的转动、镜头的焦距和光圈的调整等。
4、系统参数设置模块:该模块主要对系统的一些参数进行设置,如存储设置、视频采集参数设置等。
5、视频数据发送模块:该模块负责将视频数据流实时的以组播的方式发送给远程客户端。
6、视频数据接收模块:该模块运行于远程客户端,负责接收监控服务器发送来的视频数据流。
7、用户管理模块主要完成对所有登录系统的用户进行统一的管理,如用户名密码的管理,权限的管理及优先级的控制。
8、服务器管理模块主要是对所有的服务器根据用户的请求进行调度和管理。