跨平台视频监控技术思路

日期:2013-09-05点击次数:9465

        视频监控系统是一种防范能力较强的安全防范系统,随着社会和技术的进步,人们对方便、快捷的视频监控的要求越来越高。视频监控系统已经从模拟视频监控、基于视频压缩板卡的数字视频监控发展到全数字化网络视频监控。
       传统的视频监控系统,以两到三层C/S架构为主,如下图所示:
 


 
        其中客户端尤以Windows原生应用程序为主要形式,视频编码格式通常是基于标准编码(例如:H264、MPEG-2)私有封装(例如:扩展数据包头)。服务器端,则以基本的视频流转分发、视频录像为主要功能。这种架构下的视频监控系统,客户端被绑定在Windows平台,甚至是特定的Windows版本上。近年来基于B/S架构的瘦客户端应用日益成为主流,基于移动平台(例如:IOS、安卓)的客户端,亦逐渐为人们所接受和喜爱,单纯的Windows客户端应用必将失去市场。不少厂商尝试基于微软IE浏览器的瘦客户端,并且利用ActiveX控件技术,保护现有技术资产,这种方案对于系统集成商并不可取,原因包括:
1. 编程接口(API)是基于特定厂商
2. ActiveX控件限定于IE浏览器
3. ActiveX控件因为操作系统安全限制,部署难度大

       要实现对多平台监控客户端的支持,应尽可能利用跨平台技术构建客户端设计RESTful风格的API,可为
客户端操控视频采集设备提供通用接口;基于Flash插件,可为主流桌面系统(Windows、Linux、Mac OS等)和安卓系统的浏览器客户端提供直接的视频播放支持;对于IOS系统的浏览器客户端,可以使用其缺省支持的HLS视频流格式;此外,可以利用AIR平台来支撑Flash插件,实现传统的胖客户端。Flash插件支持的RTMP视频流协议,外加IOS平台浏览器的HLS视频流协议,是实现跨平台视频监控客户端的最小协议族。视频采集设备端,通常使用私有格式来开放视频流,部分设备支持RTSP协议开放视频流。因此,需要有一种机制,将这些视频格式、流协议转换为上述客户端支持的视频格式、流协议,该机制应当由流媒体服务器实现。视频格式、流协议的转换,是通用的底层技术,实现难度大。而商业公司、开源社区已有很多组织做出了努力,这其中出色的产品包括Adobe FMS、Wowza、Red5、Erlyvideo等。这些产品中,Erlyvideo尤为有特色,一方面它基于专用并发编程语言Erlang编写,另一方面它支持相互转换的视频格式、流协议最为广泛,已经囊括了上文中提到的全部格式。因此Erlyvideo可以作为构建流媒体服务器的基础。
以流媒体服务器为核心的跨平台视频监控系统,其应用程序框架可以如下图所示:


 
        此框架中,为了最高性能和对遗留模式的支持,允许流媒体服务器直接对厂商的私有视频格式进行分发。此框架中的设备端协议转换、客户端协议转换功能,可以依赖于Erlyvideo实现。设备私有格式的编解码,必须在统一对上层接口的基础上,针对不同厂商、不同设备型号进行定制开发,是系统实现中,比较困难和难以估料成本的地方。多层转换、转发后,系统性能会受到一定的影响,特别是在实时监控(直播)时,延迟可能会使影响方案可行性的决定性因素,应当尽可能模拟客户现场环境进行验证。



 
                                                                                                                                                                                        总公司  软件部

姓名:
性别:
电话:
E-mail
问题:
问题描述: