一、前言 当前视频监控系统正逐步由模拟化走向数字化。随着视频压缩技术和网络技术的发展,开发新一代基于计算机网络和多媒体MPEG-4压缩算法的视频监控系统已成为整个行业技术发展的主要方向之一。本文提出并研究设计了一种分布式网络视频监控系统。该系统采用流行的分布式C/S架构对系统进行设计,并采用流媒体技术,通过IP多播技术、RTP/RTCP实时传送视频监控流。
该数字视频监控系统与传统的基于数字DVR、视频的数字视频监控系统相比有以下优势:
1.性能稳定可靠。一般监控系统中的主控如果发生故障将会造成整个系统的瘫痪。本文介绍的系统没有严格的前端、主控和分控界限即没有严格的中心或核心设备,所以系统中任何设备的损坏都不会影响其他设备的正常运转。
2.可灵活组网。系统可以随时增加新的设备或模块而不需要对整个系统进行改造。
二、系统介绍 分布式数字视频监控系统的硬件主要由各种摄像机、核心设备MIVT-110、各种报警传感器和远端PC组成,系统结构如图1所示。安装在现场的MIVT-110从摄像头获得原始的视频信号,经过视频采集压缩卡压缩成MPEG-4视频数据后不但在硬盘中而且转换成流媒体格式,从以太网接口通过机器实时传送到计算机网络上;实时监控客户端(授权PC或MIVT-110)连接到计算机网络上,从视频监控模块获得MPEG-4视频数据,通过流媒体视频播放软件实时地解压MPEG-4视频数据并播放。
每台MIVT-110既可以作为监控前端,完成各种视频、音频等监控信号的采集、压缩以及开关量信号的接收、处理和传输;也可以作为监控终端,监控其他MIVT-110前端信号。普通PC上安装MIVT-110客户端软件,得到系统授权后,也可以作为终端加入整个监控系统。系统使用统一的用户界面,用户只需操作MIVT-110的控制界面,就可以控制系统中的所有监控设备。
三、系统硬件 1.视频采集压缩卡
分布式数字视频监控系统采用的是数字视频信号,需要相应的硬件将模拟视频信号转化成数字信号并且压缩,这样才可以由计算机直接处理并可在数字通讯线路上直接传输。考虑到硬件压缩的效率较高且质量较好,因此选择高性能视频采集压缩卡。它直接安装在计算机上,通过它可以将模拟视频信号、音频信号实时数字化并压缩编码,然后交由计算机直接处理,如此就可以实现对视频的分屏显示、动态储存、实时捕捉和实时发送等功能。
比较国内外几个主要的视频采集压缩卡的设备供应商产品,综合考虑价格、性能等多方面的因素,最后选择恒亿电子公司的金沙王400E视频采集压缩卡。400E是一个很实用的实时MPEG-4视频/音频采集压缩卡,适用于2000/NT/LINUX操作系统。对于视频多媒体应用开发的用户,400E提供板卡驱动程序、系统开发包、播放开发包、网络开发包及源代码。在开发视频应用时只需很少的代码就可以实现对400E的控制。400E支持4路复合视频信号的输入,由于本系统需要监控16路视频信号,故需要4块400E。
2.工控机
由于监控系统要长时间运行,且处理的数据量较大,这就对工控机的性能提出了较高的要求:系统稳定性好,运行速度快,CPU处理能力强;较大数据能力。本系统选用华北工控产品,硬件配置如下:CPU,P42.0G;内存,256M;硬盘,40G。
四、系统软件设计 1.通信
分布式数字视频监控系统采用RTP/RTCP实现实时视频流的传输和控制。视频传输所需的整体架构如图2所示。
由图2可见,视频信息在应用层由RTP进行封装,并把视频信息的特征(如时间戳和顺序号)写入RTP数据报中,交给下层UDP处理,UDP对RTP数据报进行封装,并把源端口地址、目标端口地址和校验值等写入自己的数据报中,RTP和UDP一起共同完成传输层所应完成的任务,UDP数据报被交给IP网络层处理,IP网络层协议对UDP数据报进行封装,在IP层确定网络的寻址方式,由路由表把视频数据传输到其他的主机,由于采用组播方式传输视频信息,视频信息传输的网络采用工业以太网为传输网络,IP组播地址被映射到以太网的MAC地址,IP数据报也要被封装成适合以太网传输的Eth数据报,然后在以太网中传输。
2.系统软件模型
在本软件设计中,采用典型的C/S结构,由客户端与服务端两部分构成。客户/模式的最显著特点是非对等作用,即客户相对于服务器处于不平等的地位,服务端提供服务,客户端提供请求。这很好地适应了当前网络中大量存在的资源分布和运算能力不均的现状。结构如图3所示。
客户端主要是负责向服务端发出获取服务端屏幕图像数据的请求,把从服务端发送来的屏幕图像在本地实时地显示出来;而服务端主要是负责响应客户端的请求并抓取与发送屏幕图像。由于服务端所抓取的屏幕图像一般为位图格式,其数据量较大,若直接发送则会导致占用网络带宽过大、实时性差、占用系统资源过多和稳定性差等问题,因此需经过压缩后才能将其发送给客户端,而客户端相应地也要将接受到的屏幕图像数据进行解压缩后才能正确地将屏幕图像显示出来。
3.系统主要模块设计
远程视频监控系统软件主要由两部分组成。一部分为服务端监控现场的视频数据处理模块、视频数据发送模块、云台和镜头控制模块;另一部分为客户端的视频数据接受播放模块、云台和镜头控制模块。视频数据发送模块运行在客户端,以组播的方式发送视频流;视频数据接受播放模块运行在服务端,接受视频流并实时播放显示。
(1)视频数据处理模块
视频数据处理模块主要由二部分构成:视频图像的采集压缩与存储、视频图像的播放与控制。视频图像的实时播放可以和视频图像的实时捕捉存储同时进行的。该模块的设计分别是通过视频采集压缩卡400E附带的二次开发包以及MicrosoftDirectMediaSDK 中的DirectShow SDK实现的。DirectShow SDK提供了一系列的COM组件对象模型。COM是软件组件互相通讯的一种方式,允许任意两个组件互相通讯,不管它是运行在什么平台下,也不管该组件使用什么语言编写。
(2)视频数据发送模块
视频发送模块采用四层结构,即物理网络接口层、传送层、网络层和应用层。在C/S体系中采用WinSock技术实现客户机与服务器间的通信,并在应用层上开发通信程序。本系统中采用UDP的非阻塞监听连接方式;将客户端Socket的ClientType特性设为clNonBlocking,服务端Socket的ClientType特性也设为clNonBlocking。Socket是较低层的连接,两个Socket必须使用相同的端口,共同遵守TCP/IP。
(3)视频数据接受播放模块
视频数据接受播放模块需建立两个通讯通道,一个为控制通道,一个为数据通道。控制通道用来在服务端和客户端之间建立会话,包括发送一些数据请求和确认控制等信息。控制信道采用可靠性较高的TCP。数据通道用来传输视频图像数据,选用UDP。模块选用多线程技术实现接受端播放多路视频图像。每个线程创建一个用户界面窗口,负责一路视频流的接受和实时播放。视频流的解码和播放通过调用DirectShowSDK实现。
(4)云台和镜头控制模块
对云台、镜头的控制是通过解码器实现的。本地监控主机通过RS-232连接解码器,对摄像机的镜头和云台进行控制。此模块分监控现场控制设备模块和远程控制设备模块。远程控制分两步进行:控制指令由客户端传送给现场主机;监控主机直接控制镜头、云台。控制信号的传输采用TCP。
五、结论 根据当前计算机网络技术和视频数据压缩技术的发展现状,提出并研究实现了一个基于C/S的远程视频监控系统。该系统以主流C/S架构为核心设计,具有良好的可靠性和性价比。该系统在一些实际应用中得到了良好的效果。
【责编:admin】
--------------------next---------------------