IP Camera远程监控系统的设计与实现
扫描二维码
随时随地手机看文章
视频监控系统是一个集计算机处理技术、网络通信技术和数字音视频编解码技术于一身的综合系统。作为一种成熟的多媒体应用,视频监控逐步走向数字化、网络化、综合化、无线智能化的潮流中。
用户普遍要求访问地点不受地域限制,能随时随地访问被监控地点,这就要求系统设计一个合理的服务机制,能够实时提供给用户可靠的服务。
提出了一种基于流媒体服务器的远程视频监控系统,较好地解决了上述问题。结合流媒体技术,就视频监控系统中涉及到的一些关键技术进行讨论,并提出实现方法,最终实现了该系统,取得了较好的应用效果。
1 系统整体框架
远程视频监控的主要分为3 大部分: 监控端、服务器端和视频采集端,如图1 所示,下面将分别介绍各个部分的功能。
视频采集端主要由摄像机、电动镜头、云台、WIFI 模块、SD 卡等模块组成,主要负责音视频数据的采集和传输。主要功能如下: ① 采集编码部分:将现场采集到的音视频数据进行压缩编码; ② 数据传输部分: 将压缩完成的音视频数据传送到流媒体服务器; ③ 移动侦测部分: 进行移动侦测的功能,并将移动图像存入到 SD 卡中; ④ PTZ 控制部分: 根据监控端的控制指令,进行 PTZ 控制; ⑤ 报警部分: 完成报警功能。
服务器端主要完成音视频数据的分组转发、视频数据存储、设备管理、用户管理、权限管理和日志管理等功能。
监控端主要实现视频监控功能,分为 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 >。