王 明,何加铭,曾兴斌
(1.宁波大学通信技术研究所,浙江宁波315211;2.浙江省移动网应用技术重点实验室,浙江宁波315211;3.宁波大学纵横智能软件研究所,浙江宁波315211)
近年来,随着互联网的高速发展,以及智慧城市、安防、金融、道路交通、电力等监控项目的建设需要,远程视频监控技术已成为人们生活中不可或缺的一部分。视频监控技术以其经济实用、方便管理、质量可靠、技术先进等诸多特点被广泛地应用于各种场合[4]。
视频监控系统是一个集计算机处理技术、网络通信技术和数字音视频编解码技术于一身的综合系统。作为一种成熟的多媒体应用,视频监控逐步走向数字化、网络化、综合化、无线智能化的潮流中。用户普遍要求访问地点不受地域限制,能随时随地访问被监控地点[1],这就要求系统设计一个合理的服务机制,能够实时提供给用户可靠的服务。
提出了一种基于流媒体服务器的远程视频监控系统,较好地解决了上述问题。结合流媒体技术,就视频监控系统中涉及到的一些关键技术进行讨论,并提出实现方法,最终实现了该系统,取得了较好的应用效果。
远程视频监控的主要分为3大部分:监控端、服务器端和视频采集端,如图1所示,下面将分别介绍各个部分的功能。
视频采集端主要由摄像机、电动镜头、云台、WIFI模块、SD卡等模块组成,主要负责音视频数据的采集和传输。主要功能如下:①采集编码部分:将现场采集到的音视频数据进行压缩编码;②数据传输部分:将压缩完成的音视频数据传送到流媒体服务器;③移动侦测部分:进行移动侦测的功能,并将移动图像存入到SD卡中;④PTZ控制部分:根据监控端的控制指令,进行PTZ控制;⑤报警部分:完成报警功能。
图1 远程视频监控整体构架图
服务器端主要完成音视频数据的分组转发、视频数据存储、设备管理、用户管理、权限管理和日志管理等功能。
监控端主要实现视频监控功能,分为PC监控端和移动监控端。用户可以使用任何一台联网PC机或者移动端当做监控端,随时随地能调用本系统各监控点的视频数据,并进行PTZ控制。
服务器端主要包括流媒体服务器、Web服务器以及存储管理服务器。其中流媒体服务器主要提供视频直播、点播等功能。Web服务器主要提供用户统一的Web页面和Web Service接口。存储管理服务器负责视频数据的存储与调度。
2.1.1 流媒体服务器
流媒体服务器的主要功能是以流式协议(RTSP、MMS、RTMP等)将视频文件以流媒体形式传输到客户端,供用户在线观看;也可从视频采集、压缩软件接收实时视频流,再以流媒体形式直播给客户端。流媒体应用系统的主要性能取决于流媒体服务器的性能和服务质量[7]。因此,流媒体服务器是流媒体应用系统的基础,选择一款性能优越的服务器是该系统的关键。
Wowza Media Server是一款高性能、多线程的流媒体服务器软件。专为多种终端设备提供音视频播放服务,支持 iOS、Windows、Android、BlackMerry 等主流系统的终端设备,开发者可以根据不同的应用环境,选择RTSP、RTMP、HTTP Live Streaming等不同的传输协议;Wowza Media Server支持H.264编码标准进行封装的FLV、MP4、MOV、3GP等音视频格式;Wowza Media Server能够记录实时流,同时允许用户播放、暂停、恢复和实时回放直播流。
Wowza Media Server提供了强大的接口功能,可以方便实现二次开发。在本系统中,流媒体服务器需要主动接收采集端传输的视频数据实现直播,并通过配置命令的形式,对数据进行存储,该功能的实现是对Wowza Media Server流媒体服务器一个扩展的过程,实现方法如下:①摄像头首先发送一个心跳包到流媒体服务器,表示此时在线;②摄像头向流媒体服务器发送数据,流媒体服务器接收到数据之后,根据摄像头序列号生成不同的映射文件,并将相应的数据写入数据库。如果摄像头IP地址发生变化,会重复执行上述步骤;③流媒体服务器与存储管理服务器交互,对视频数据进行保存。
2.1.2 Web服务器
Web服务器主要提供用户统一访问入口以及Web Service接口功能。本系统采用Struts+Hibernate+Spring技术,结合ExtJS框架,开发了一套Web工程,实现了以下几个功能:①用户管理:包括添加、删除、修改、查询用户的功能;②权限管理:包括添加、删除、修改、查询权限的功能;③设备管理:包括添加、删除、修改、查询摄像头的功能;重启重置摄像头功能;PTZ控制功能;④日志管理:包括用户所有操作日志存储以及日志查询功能;⑤直播列表获取:获取当前登陆用户所有在线摄像头列表,用于视频直播;⑥点播列表获取:根据用户、IP摄像头、文件创建日期查询视频点播列表,用于视频点播;⑦在网页中嵌入Flash播放器,用于播放视频;⑧提供移动端Web Service访问接口,用于移动监控。
2.1.3 存储管理服务器
存储管理服务器提供对监控系统下各种存储方案的统一管理,是监控综合平台下的存储系统的管理核心,简称VRM。VRM可管理前端设备存储、网络服务器存储、嵌入式服务器存储及iSCSI直写存储等多种存储方式,并提供了快速高效的录像数据的检索、回放及备份功能。
VRM实现了录像计划的配置、录像计划的同步、录像数据的查询及回放、网络存储服务器的管理、IP-SAN设备的管理等功能。录像计划的配置、更新和删除操作均由客户端发送信令至Web服务器,再由Web服务器转发至VRM,最后由VRM依据存储类型等分发至其管理的各个存储服务器。同时Web服务器与VRM之间实现了定时同步机制,保证了录像计划的一致性。
客户端的回放可以从存储设备直接取流或者通过VRM与流媒体服务器提供的点播服务来进行。回放请求时,客户端不用明确了解系统采用的存储方式,即可实现对录像的查询与回放,VRM服务器为客户端和存储设备之间架起了一座桥梁。
为了减轻监控端操作的负担,增强系统的可维护性,本系统中将使用Flash Player作为PC端的播放器。为了实现基于Web服务器的B/S的监控机制,本系统将监控画面做成JSP页面,并且把所有网页放入Web服务器用于用户访问。在JSP页面中必须提供Flash Player插件的classid和文件路径,如果本机的注册表中查找到该classid,则不必下载。否则必须按照codebase指定的路径下载该控件。标签中的id是该Flash Player对象的名称,用于访问和设置对象属性、调用对象方法,加载方法如下。
<object"width="636"height="470"id="liveOrVOD"align="middle"classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000 " codebase=" http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0”> < /object>。
视频存储模块作为本系统的一个重要环节,主要负责将采集端传送来的视频数据,根据用户工号、IP摄像头编号、日期等因素存储起来,以便响应客户端的点播请求。监控平台系统中常采用的存储方案有以下4种:前端设备存储、网络服务器存储、嵌入式服务器存储以及iSCSI直写存储,选择了iSCSI直写存储。iSCSI直写存储主要有NAS、SAN、IPSAN3种方式,本系统采用IP-SAN。IP-SAN结合了NAS与SAN的特点,实现了块级数据在IP网络上的传输。iSCSI直写存储方式是通过存储管理服务器协调控制,在IP-SAN设备上划分出指定大小的存储空间用于音视频信息保存。流媒体服务器将采集端传输的数据传送到存储服务器,存储服务器通过iSCSI协议把音视频数据直接写到相应的存储设备中,并把记载有音视频信息相关的索引上报给存储管理服务器用于视频数据检索。该存储方式只需要存储管理服务器协调,就可以完成视频数据的存储。iSCSI直写存储流程图如图2所示。
图2 iSCSI直写存储流程图
远程监控系统采用流媒体技术,将声音、影像等媒体信息经流媒体服务器向监控端用户实时传送,在本系统中监控端主要分为PC端和移动端。
PC监控端采用B/S结构,用户使用系统自带的浏览器访问本系统,由于客户端需要使用Adobe Flash Player播放器,所以PC端只需安装Adobe Flash Player软件,即可通过浏览器访问该系统。
移动监控端采用C/S结构,通过Web Service接口获得数据,实现移动监控。该客户端主要由通讯模块,解码模块以及视频显示模块构成。其中通讯模块用来接收来自Web服务器返回的json数据,并对数据进行解析,将数据显示到客户端。视频解码模块通过移植vlc源代码,实现H.264解码,最后将解码后的视频数据显示在屏幕上实现监控的目的。
实现了基于流媒体技术的远程视频监控系统,它采用计算机多媒体技术、数字视频处理技术、网络通信技术和音视频编解码技术,以计算机或移动端为平台,以磁盘阵列为存储介质,实现音视频信号的实时采集、存储以及播放功能,打破了传统监控系统的限制。
随着技术以及业务的不断发展,基于流媒体技术的视频监控系统对传输质量、传输速度以及其他各方面的要求更高。如何更好地综合利用网络通信、编解码技术在大规模访问中进行资源调度与管理,是本文需要进一步研究的目标。
[1]林晟.基于B/S模式的视频监控系统的设计与实现[D].厦门:厦门大学,2008:70-75.
[2]曹晓芳.一种基于Android智能手机的远程视频监控的设计[J].电子器件,2011,34(6):710-712.
[3]徐正超.高清视频监控在平安城市建设中的应用[J].智能建筑与城市信息,2013(2):81-82.
[4]李翔.交通视频监控系统的构建[J].信息与通信技术,2013(1):78-81.
[5]西刹子.智能网络视频监控技术详解与实[M].北京:清华大学出版社,2010:298-300.
[6]任建凯.计算机网络远程监控系统的应用[J].信息与电脑,2013(2):89-90.
[7]吴金策.B/S架构嵌入式视频监控系统客户端设计[J].电视技术,2013,37(3):188-190.
[8]杨萍.基于视频监控的分发服务器的研究与实现[D].武汉:华中科技大学,2007:27-35.
[9]徐健.网络视频监控系统的设计与实现[D].大连:大连理工大学,2005:17-21.
[10]徐松.流媒体技术在网络控制的应用研究[D].合肥:合肥工业大学,2003:38-44.
[11]李川.浅述视频监控系统的经历与发展[J].电大理工,2009(4):49-50.
[12]刘富强.数字视频监控系统开发及应用[M].北京:机械工业出版社,2003.
[13]严峻.流媒体自适应播放技术的研究[M].清华大学:清华大学出版社,2007.
[14]韩德志,傅丰.高可用存储网络关键技术的研究[M].北京:科学出版社,2009.
[15]李刚.轻量级J2EE企业应用实战[M].北京:电子工业出版社,2007.