IP Camera远程监控系统的设计与实现
2017-09-05
视频监控系统是一个集计算机处理技术、网络通信技术和数字音视频编解码技术于一身的综合系统。作为一种成熟的多媒体应用,视频监控逐步走向数字化、网络化、综合化、无线智能化的潮流中。
用户普遍要求访问地点不受地域限制,能随时随地访问被监控地点,这就要求系统设计一个合理的服务机制,能够实时提供给用户可靠的服务。
提出了一种基于流媒体服务器的远程视频监控系统,较好地解决了上述问题。结合流媒体技术,就视频监控系统中涉及到的一些关键技术进行讨论,并提出实现方法,最终实现了该系统,取得了较好的应用效果。
1 系统整体框架
远程视频监控的主要分为3 大部分: 监控端、服务器端和视频采集端,如图1 所示,下面将分别介绍各个部分的功能。
视频采集端主要由摄像机、电动镜头、云台、WIFI 模块、SD 卡等模块组成,主要负责音视频数据的采集和传输。主要功能如下: ① 采集编码部分:将现场采集到的音视频数据进行压缩编码; ② 数据传输部分: 将压缩完成的音视频数据传送到流媒体服务器; ③ 移动侦测部分: 进行移动侦测的功能,并将移动图像存入到 SD 卡中; ④ PTZ 控制部分: 根据监控端的控制指令,进行 PTZ 控制; ⑤ 报警部分: 完成报警功能。
图1 远程视频监控整体构架图
服务器端主要完成音视频数据的分组转发、视频数据存储、设备管理、用户管理、权限管理和日志管理等功能。
监控端主要实现视频监控功能,分为 PC 监控端和移动监控端。用户可以使用任何一台联网 PC机或者移动端当做监控端,随时随地能调用本系统各监控点的视频数据,并进行 PTZ 控制。
2 远程监控系统的实现
2. 1 服务器端
服务器端主要包括流媒体服务器、Web 服务器以及存储管理服务器。其中流媒体服务器主要提供视频直播、点播等功能。Web 服务器主要提供用户统一的 Web 页面和 Web Service 接口。存储管理服务器负责视频数据的存储与调度。
2. 1. 1 流媒体服务器
流媒体服务器的主要功能是以流式协议( RTSP、MMS、RTMP 等) 将视频文件以流媒体形式传输到客户端,供用户在线观看; 也可从视频采集、压缩软件接收实时视频流,再以流媒体形式直播给客户端。流媒体应用系统的主要性能取决于流媒体服务器的性能和服务质量 。因此,流媒体服务器是流媒体应用系统的基础,选择一款性能优越的服务器是该系统的关键。
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 服务器为客户端和存储设备之间架起了一座桥梁。
2. 2 Flash Player 实现
为了减轻监控端操作的负担,增强系统的可维护性,本系统中将使用 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 >。
2. 3 视频存储方案实现
视频存储模块作为本系统的一个重要环节,主要负责将采集端传送来的视频数据,根据用户工号、IP 摄像头编号、日期等因素存储起来,以便响应客户端的点播请求。监控平台系统中常采用的存储方案有以下4 种: 前端设备存储、网络服务器存储、嵌入式服务器存储以及 iSCSI 直写存储,选择了 iSCSI直写存储。iSCSI 直写存储主要有 NAS、SAN、IP-SAN 3 种方式,本系统采用 IP-SAN。IP-SAN 结合了NAS 与 SAN 的特点,实现了块级数据在 IP 网络上的传输。iSCSI 直写存储方式是通过存储管理服务器协调控制,在IP-SAN 设备上划分出指定大小的存储空间用于音视频信息保存。流媒体服务器将采集端传输的数据传送到存储服务器,存储服务器通过iSCSI 协议把音视频数据直接写到相应的存储设备中,并把记载有音视频信息相关的索引上报给存储管理服务器用于视频数据检索。该存储方式只需要存储管理服务器协调,就可以完成视频数据的存储。iSCSI 直写存储流程图如图2 所示。
图2 iSCSI 直写存储流程图
2. 4 监控端实现
远程监控系统采用流媒体技术,将声音、影像等媒体信息经流媒体服务器向监控端用户实时传送,在本系统中监控端主要分为 PC 端和移动端。
PC 监控端采用 B/S 结构,用户使用系统自带的浏览器访问本系统,由于客户端需要使用 AdobeFlash Player 播放器,所以PC端只需安装 AdobeFlash Player 软件,即可通过浏览器访问该系统。
移动监控端采用C/S 结构,通过Web Service 接口获得数据,实现移动监控。该客户端主要由通讯模块,解码模块以及视频显示模块构成。其中通讯模块用来接收来自 Web 服务器返回的 json 数据,并对数据进行解析,将数据显示到客户端。视频解码模块通过移植 vlc 源代码,实现 H. 264 解码,最后将解码后的视频数据显示在屏幕上实现监控的目的。
3 结束语
实现了基于流媒体技术的远程视频监控系统,它采用计算机多媒体技术、数字视频处理技术、网络通信技术和音视频编解码技术,以计算机或移动端为平台,以磁盘阵列为存储介质,实现音视频信号的实时采集、存储以及播放功能,打破了传统监控系统的限制。
随着技术以及业务的不断发展,基于流媒体技术的视频监控系统对传输质量、传输速度以及其他各方面的要求更高。如何更好地综合利用网络通信、编解码技术在大规模访问中进行资源调度与管理,是本文需要进一步研究的目标。