021-68453443

视频监控系统中异构设备接入设计

2017-03-03 17:58:18 人阅读 分类:论文范文

摘要:就当前网络视频监控系统面临的设备繁杂缺乏规范的问题提出构建统一管理接入平台的想法,根据系统设计原则和软件设计原则创建平台系统构架,模块化功能接口,分类别抽象出系统功能函数接口。采用中盛益华科技公司所有的网络视频监控系统平台,创建前端异构设备与中心控制器间的接入平台,选用SONY 球型网络摄像机SNC-RZ25P 和海康网络硬盘录像机DS_8000HC 作为范例接入平台,同时介绍接入的主要流程和方法。
关键词:视频监控;传输协议;视频编解码;线程管理

1.引言

由于历史等多方面原因,从传统安防阶段起视频监控的标准就出现了种类繁多、缺乏规范的问题,市面上存在各类国际标准、国家标准、行业标准和自有标准,使得各厂商很难选择并坚持遵守某一种标准。目前标准混乱这个问题已显得日益严重,几乎每个有技术实力的厂商都提供自己的“标准”接口,为了通用,各个厂商只得在自己设计标准的同时,利用接口兼容各项国际标准并附以详细产品接口说明。由于标准互不兼容造成各部分接口无法对接、组网互联困难已经成为监控工程建设中经常要面对的技术难题,甚至会导致整个工程陷于停滞,而这个问题也面对着需要尽快解决的严峻局面。

2. 接入平台设计构想

为了解决不同标准不同厂家设备互联互接问题,本文设计构建一个通用的网络视频监控系统管理平台,遵守网络视频规范协议VSIP(Video Serves over IP)协议,使之能够符合网络视频监控系统设计原则和软件要求,同时实现视频监控系统的全部功能,对现有市场上绝大多数异构监控设备进行统一管理,以解决统一规范和协议出台前市场上已存在的大量异构设备的互联互通,最大限度的利用现有网络中的异构设备,以最低的成本解决最根本的问题。如图1软件系统体系构架所示,使用的中心控制器为标准VSIP协议设备,当视频监控系统中前端设备同样采用标准设备时,可以将其直接接入中心控制器;而当前端设备为非标准设备时,使用接入平台将协议进行转化,统一接入中心控制器以对其进行管理和使用。

1 软件系统体系构架

3.系统软件模块

网络视频监控系统软件采用现代计算机网络技术及多媒体信息压缩、解压技术的数字图形监控系统,系统监控的视频、音频、告警、控制信号可传至网络内的每一个节点,用户可以利用计算机网络在不同地点同时监视、控制远程某一或某些场所,同时具有动态感知、视频存储、告警管理等功能,作为一个通用化视频监控平台,视频监控系统由如下一些模块组成:
(1)设备控制模块:该模块是系统的设备驱动层,整个系统通过该模块完成与编解码器的通信。应用层的与设备无关指令通过该模块翻译成与设备相关指令,通过网络传输层,完成对设备的各种控制与交互。
(2)媒体控制模块:该模块是视频监控系统的核心,用以完成对大容量媒体流以及透明数据的管理。媒体流包括两个方面的内容:一个是实时的音视频流,一个是文件流。数据管理包含两个方面的内容:存储和转发。视频监控系统通过一套高效和强壮的流处理机制完成存储和转发的统一资源调度,从而使得系统的处理能力得到极大的提高。
(3)连接管理模块:连接管理接口是媒体控制接口的核心。每个连接由源和目的唯一标识。一个连接表示了一个数据传输通道。系统为每个连接创建专门的处理任务。连接相互独立,有效的避免了系统故障的扩散。每个连接可以附加一个存储请求和若干的转发请求。存储和转发共享数据,独立运行。数据的共享可以节约网络带宽。数据的并行处理保障了系统的效率和强壮性。
(4)客户端管理模块:所有客户端和服务器的通信都要经过该模块的翻译和处理。通过该接口,客户端服务器可以完成各种控制信令的交互。客户端管理接口模块又可细分为权限管理、认证管理和呼叫管理,分别用于完成用户角色和权限的管理,身份的认证,及客户端各种请求的响应。
(5)报警管理模块:通过该接口,系统实时调度各种资源用于完成对报警信息的及时处理和联动。
(6)服务器管理模块:系统采用分布式多叉树服务器架构,用以分担整个系统的网络和计算压力。服务器管理模块负责在各个服务器之间传递和同步服务器状态,协调各个服务器的工作上下文。
(7)系统诊断模块:该模块是包括如下一些组成部分。
1)日志管理:负责记录系统内发生的事件,并且在第一时间将要发布的日志发布到相应的客户端上。这样,可以减轻系统管理员对整个系统的维护工作量。
2)设备巡检:负责第一时间获得设备的各种状态,包括:网络是否正常、镜头是否正常、名称是否改变、配置是否改变等等。这些状态数据也需要同步传递到各个在线的客户端,保障应用视频图像的一致性。
3)客户端巡检:负责客户端状态的获取,包括客户端的登陆、退出和掉线。
4)服务器巡检:负责查询每个服务器是否在线。如果服务器掉线,系统会在第一时间给出提示,从而转入相应的故障处理模块。
5)服务器工作上下文诊断:用于诊断服务器各个模块是否正常,对于一些不正常的模块,系统负责恢复或者清除。
6)故障弱化:客户端故障弱化,为了保障服务器的性能,对于已经掉线的客户端,服务器自动剔除并释放相应资源。服务器故障弱化,如果服务器出现故障,在故障修复好后,系统会自动修复与所有在线客户端的连接,让用户自动重新回到正常的工作环境。
具体网络视频监控系统结构如图2系统软件模块所示:

2 系统软件模块

4.异构前端设备管理接入平台的实现

本文以中盛益华科技公司所有网络视频监控系统为基础平台,分别使用SONY球型网络摄像机SNC-RZ25P和海康网络硬盘录像机DS_8000HC作为前端接入设备,完成异构前端接入平台的设计与应用。SONY球型网络摄像机SNC-RZ25P和海康网络硬盘录像机DS_8000HC这两款设备分别代表了IPC和DVR/DVS两种不同类型的前端设备,他们分别遵照各自厂商的协议具有不同的接口标准,同时在接入方式上也有很大的区别:SONY球型网络摄像机SNC-RZ25P只提供底层的基础函数,接入工作需要从网络连接的层面开始做起;而海康网络硬盘录像机DS_8000HC提供相应的软件开发包,已经完成了网络连接、线程管理等方面的工作并提供了功能强大的回调函数,接入工作需要在开发包的基础上进行二次开发。以这两种设备代表异构设备群体进行接入设计工作具有较高的检验效果。

4.1 SONY球型网络摄像机SNC-RZ25P的接入

SONY球型网络摄像机SNC-RZ25P能够有效进行远程网络监控,可以在单一的产品包内提供MPEG-4和M-JPEG两种压缩以及PTZ控制。MPEG-4非常适合图像在有限带宽上的流畅传输,如果要求更高质量的静态图像,则可以使用行业标准的M-JPEG压缩;PTZ功能允许从使用标准网站浏览器的个人计算机上对摄像机的运动和18倍光学变焦的镜头进行控制。此外SNC-RZ25P球型网络摄像机还包括“日/夜”功能、音频监控、网络和无线功能、报警功能等,是一款应用比较广泛的机型。

4.1.1流程管理

由于需要分别实时的获得心跳检测,移动侦测,I/O报警,音视频流等信息,在此使用多线程管理方法,将处理器分时的交给各个线程进行数据处理,同时轮询时间依具体功能设定,根据索尼SNC-RZ25P此款设备特点,主要使用三个线程:报警线程、视频线程和音频线程。对于镜头配置和串口配置等操作,由于实时性要求不高,并不创建单独线程,而是通过函数调用的方式实现功能。

4.1.2 报警线程

心跳检测是全部网络监控系统中最重要的部分,只有实时监控前端设备是否正常在线,才可以信赖前端设备返回的数据,正常进行音视频流的接受和存储及配置等相关操作,当前端设备心跳丢失即可判断设备掉线,需要迅速将设备重新接入连接,以保证设备的正常工作。
索尼SNC-RZ25P设备具有上电后正常状态下自动连续返回报警信息的特性,根据此特性将心跳监测、移动侦测、I/O报警等功能集中实现在报警线程中,通过判断设备是否连续返回报警信息来判断是否心跳正常和设备在线,这样可以减少独立的心跳线程以提高代码运行效率。同时考虑到网络的延时性和不稳定性,对代码进行了功能上的优化,最大可能的排除了网络干扰的因素。
在设备上电后首先打开报警信息,成功后获取各类配置信息并发送报警控制指令,若成功则可收到正常的报警信息,并在设备连接的全部过程中实时接收各类报警信息,一旦信息接收失败将检测心跳是否丢失,由于网络延时等可能出现的干扰因素,在此处并没有在检测到心跳丢失后立即重新连接,而是进行错误计数,当连接错误超过3次后认为设备掉线并立即重新打开报警信息。

4.1.3 视频线程

接收视频是网络视频系统中最基本的功能,开辟一个单独的线程为服务器传送实时视频流。在设备与服务器间遵守VSIP协议,其中规定设备将视频流以UDP连接方式发送给服务器。由于索尼SNC-RZ25P网络摄像头发送的视频流同样基于UDP连接方式,所以在此仅需要将设备发送来的视频流分MPEG-4和M-JPEG两种编码格式分别转发给服务器即可。
在转发视频之前需要初始化套接字,随后发送请求视频指令,其中包含编码格式信息以区分需要获取的文件格式为MPEG-4与M-JPEG,当驱动程序收到设备传来的视频流后会自动转发给服务器直到收到停止视频指令。在此过程中,首先建立TCP连接用于服务器端和前端设备的信令交换,确定请求或停止视频流的控制信息;然后建立UDP连接用于接收和转发大量的视频流数据,视频流数据使用RTP/RTCP协议传输。在此程序并不判断停止视频是否成功,采用的办法是服务器连续发送3次结束视频指令以把停止视频失败的可能性降低为0,最后将关闭套接字。

4.2.4 音频线程

接收音频为网络视频系统的另一基本功能,在此没有将音频流和视频流统一发送,因为音视频流无需同时获取。通常情况下一个客户端会同时打开几路视频图像,与此同时却只打开一路音频,这是这个设计的最基本理由。同时由于语音对讲等功能的冲突,将音频流单独建立一个线程进行传输,具体流程见音频流程和视频流程非常相似。首先要初始化套接字并发送请求音频指令,成功后便将由设备传送来的音频流转发给服务器直到收到停止音频指令,同样程序不判断停止音频是否成功而是根据服务器发送的3次停止指令连续关闭音频流,最后关闭套接字。

4.2.5 参数配置

参数配置主要分配置与获取两大部分,其中包括:设备IP配置、GUID号、类型、能级;镜头亮度、色度、对比度、清晰度;视频模拟输入制式、分辨率、帧率、比特率、码流模型、画质,串口比特率、停止位、校验位、数据位等信息。由于配置信息对实时性要求并不高,同时为了减少内存消耗等原因没有为配置信息单独开辟线程。由于不同厂商和不同设备间的参数设置并不相同,将服务器指令与设备指令进行协调已达到统一配置统一管理的目的,同时在配置完成后返回操作结果。

4.2海康网络硬盘录像机DS_8000HC的接入

海康DS_8000HC网络硬盘录像机是海康第三代网络硬盘录像机,具备数字视频录像机(DVR)和数字视频服务器(DVS)的特性,既可本地独立工作,也可联网协同工作。
海康客户端软件包是海康威视按照自己的接口协议所创建的,并不能与标准VSIP协议完好的吻合,所以需要利用接入平台对其接口函数进行管理和调整,使之成为规范的接口函数,在此主要做了一下几点:
1.完成设备上电初始化过程。
2.基于回调函数的使用完成输入输出报警、视频上传和保存、音频流控制等操作。
3.调整配置参数接口,使设备与中心控制器吻合。
4.利用安全机制保障设备在线并处于正常状态。
下面分别从设备初始化、音视频流控制、报警输入输出控制和参数配置四个方面介绍接入过程。

4.2.1设备初始化

遵照海康软件开发包上电顺序,在设备上电前首先需要调用NET_DVR_Init()函数进行软件包初始化用于启动接口函数,如果失败则不能进行之后的操作;其次开启接收设备消息的回调函数,用于接收硬盘录像机主动发起的请求或是通过报警上传通道收到的报警信息;然后调用NET_DVR_Login()函数在设备上注册用户,认证之后便可以调用各类参数配置函数,在这里将各通道各路的网络、镜头、报警等参数分别取出存入相应的数据结构,以便之后的访问和使用。

4.2.2音视频流控制

海康DS_8000HC网络硬盘录像机不提供单独的视频流或音频流,而是以音视频混合流的形式提供信息。在视频控制方面需要注意的是,在每次打开视频前需要调用软件开发包中的NET_DVR_RealPlay()函数进行视频预览,判断视频是否已经打开或者存在其他错误,以保证之后的视频流可以正常传输。在视频预览成功后可以使用NET_DVR_SetPlayerBufNumber()函数调节播放的延时和流畅程度,如果dwBufNum值越大,播放的流畅性越好,相应的延时比较大;相对的如果dwBufNum值越小,播放的延时很小,但是当网络不太顺畅的时候,会有丢帧现象,感觉播放不会很流畅。一般设置的帧缓冲大于等于6帧时,音频预览才会正常,在某些特定环境下这个值可以设置的更小。

4.2.3报警输入输出控制

在设备上电系统初始化的过程中,调用软件开开发包提供的回调函数NET_DVR_SetDVRMessCallBack_NEW(MessageCallback),用以设备主动上传信息,其中包括通过报警上传通道发送的报警信息,需要及时判断所上传的信息中是否存在报警以及时作出反应和对策。在此分析判断多种异常类型,包括信号丢失、非法访问、硬盘错误、MODEM掉线、IP地址冲突等。其中移动侦测报警是最重要的一部分,以某一通道当前状态与初始状态间是否发生变化作为检测移动侦测的标准,即通过判断移动侦测标志位是否发生翻转来判断是否发生移动报警。

4.2.4参数配置

在参数配置方面,由于在设备上电初始化后已经将全部参数存入相应的数据结构体中,所以每次获取参数只需从数据结构体中取出数据;在参数配置方面,需要将标准值调整到海康所使用的参数范围内后写入相应的参数,调用软件开发包中的NET_DVR_SetDVRConfig()函数设置,并调用NET_DVR_SaveConfig()将参数保存到flash之中。
至此海康网络硬盘录像机DS_8000HC的大体接入思路已经详细研究完毕,以所设计的接入平台的功能抽象函数,将软件开发包中的非标准接口函数重新定义组合,将接口标准化后不透明的接入以VSIP标准为基础的中心控制器中,对于其他管理功能的实现和控制已经根据以上的思路和手法得以实现,在此不再重复说明。

4.3联调测试

一般来说,通常编写程序不会一次就编译通过,还需要进行调试。在此使用所设计的接入平台将中心控制器与前端设备对接,通过客户端分别测试设备存在、报警输入输出、音视频流传输状况和各功能实现状况。经检验此平台可以完成中心控制器与前端设备的不透明连接,完成网络视频基本功能,下面通过客户端界面展示接入效果。图3接入测试视频流展示的,其中1、2、4号窗口分别显示出接入设备传输的视屏图像,由于测试镜头只能倒放与桌面,所以观察到的图像是垂直翻转的;3号窗口显示的为电子地图功能,是客户端软件的附加功能,不在本文研究范围。

3 接入测试视频流显示
图3接入测试参数配置展示的是设备网络、视频、镜头、串口等方面参数配置及获取状况。当前界面显示的为视频配置操作,包括帧率、码率、制式、分辨率、码流模型及画质设定参数的设定与获取,其他操作不再再次重复说明。

结束语

近年来以构建“和谐社会”为主题的全国性的“平安城市”建设逐渐进入高潮,视频监控系统作为“平安城市”的一项重要内容面临巨大的机遇与挑战。由于历史等多方面原因,目前网络监控应用中前端设备种类繁多、型号复杂、缺乏规范,已对系统的互联互通互信和统一管理造成了巨大障碍,本文将针对这一问题提出创建接入平台的构想,完成中心控制器与前端异构设备的管理和不透明连接。本文采用Windows
操作系统平台和VC6.0 编译环境,使用C/C++语言,以中盛益华科技公司网络监控系统为基础平台,运用多线程技术通过接口函数完整的创建管理接入平台,实现对各类前端异构设备的统一管理,为“平安城市”的建设和网络视频监控系统的未来发展提供可行的办法。

参考文献

[1] 吴国勇, 邱学刚, 万燕仔编著. 网络视频: 流媒体技术与应用. 北京: 北京邮电大学出
版社, 2001.
[2] 安防视频监控的发展历史[ EB/ OL ] . http://www.skyvio.com,2008.
[3] 付昕军.DVS 智能化高清化无线化发展[J]. 中国安防期刊,2007 年11 期.
[4] 中国电信网络视频监控业务技术规范V2.0 [ S] . 中国电信集团公司,2006 ,2.

相关资讯