论文部分内容阅读
如今的安防视频监控系统中,监控的路数和视频清晰度逐年成倍地增长;在高清监控时代愈演俞烈的情况下,对视频数据的处理需求和存储的能力要求也在成倍地增长;视频数据所包含的信息量也愈发变得丰富和庞大,高清视频比传统摄像机的数据量大了好几十倍甚至更多,现在某些特大型的系统要求PB级的存储容量。数据存储和处理问题在海量高清视频数据巨增的情况下日夜突出,所以传统的视频监控模式再也不能满足当今视频监控的要求,我们需要找到新的方案来突破存储性能和处理效率的瓶颈。这几年兴起且不断成熟的“云计算”技术和“云存储”技术为视频监控系统带来了新的发展契机。视频监控系统中,目前常用的主要有实时视频监控和历史视频回放两大方面。其中,实时视频监控要求在客户端观看视频的清晰度极高且不能出现延迟和失真的情况,这就对视频数据的传输速度、效率、数据的安全、可靠性、以及系统的稳定性等都有极高的要求。另外,历史视频数据存储的稳定性、针对灾难的备份和冗余方面的处理能力直接决定了整个视频监控系统的总体性能。云计算技术是一种新的计算模式,在这种计算模式下,可以将视频数据的传输、处理和存储任务都分布分配到海量廉价的计算机所组成的群集系统上,视频监控应用可以根据自己的需要向中心服务器提供请求得到像计算、存储空间和其他软件等相关服务。本文首先对“云计算”技术和几种主流的云平台(Amazon、Microsoft Azure、 Hadoop、Google)进行了简单的研究,分析了它们的优缺点,最后选取了Hadoop开源框架来搭建云平台服务器。基于Hadoop框架搭建的计算机集群对主机硬件条件要求不高,却能够处理PB级数据计算和存储和对海量数据进行分布式处理和存储,这样在很大程度上降低了整个系统的开发成本。然后通过对视频监控系统的需求和逻辑分析,提出了一个基于"Hadoop"的云视频监控系统方案并设计了系统总体架构,并且分别对转码、存储、云监控、流媒体和客户端进行了详细设计,结合各个部分之间的逻辑关系和在整个系统中的角色提出了实现的原理和方法,最后完成了平台的搭建、软件的运行和对实验结果进行分析。本文针对监控系统中转码实时性要求高,而有限的带宽不能传输多路监控中海量的视频数据量和系统解码能力差的问题,提出了将视频极度消耗cpu和系统资源转码任务分布到HDFS分布式服务器集群上,采用MapReduce的编程模式,根据客户端提交的转码任务和参数,利用集群的处理和存储能力进行实时的编解码,动态的向客户端输出符合要求的视频流,解决了传统视频监控系统的一大难题。在存储方面,引入Hadoop下的子项目HDFS分布式文件技术,将前端采集视频或者转码后的视频数据分布式存入到廉价的PC群集节点中,由于可以根据实际需要灵活的增加和删减云节点,可以通过备份和冗余保证视频数据的可靠和安全性,同时基于ZooKeeper的存储管理系统能够保证存储系统的稳定性。ZooKeeper的特有的监控机制能够在节点出现故障时极快的响应,并且MapReduce视频存储的处理效率不会因为备份和冗余而降低。满足了当今监控视频系统对视频的存储要求。通过对Darwin Streaming Server的二次开发并且在分布式系统上部署实现RTSP流媒体服务器,有效地支持了多个用户同时并发访问一路视频且保证了视频的清晰度和传输的实时性。本文设计的基于“云计算”的视频监控系统集分布式、大并发量访问存储、高可用性、快速响应和易管理维护等这些特点一身,它将系统中的视频采集、视频编转码、视频数据存储、流媒体分发服务器以及客户端都分布在接入网络中的物理主机节点上,相比传统的视频监控系统无论是在视频实时处理、转码效率还是在视频数据存储容量上都有极大的提升,满足新时代人们对视频监控系统的要求具有较大的商业价值。本文对系统进行了功能测试和转码的性能测试,通过对实验结果的对比分析本系统显著降低了视频转码处理的时间,提高了存储容量和稳定性。