学士学位论文省云视频监控平台方案Word下载.docx
《学士学位论文省云视频监控平台方案Word下载.docx》由会员分享,可在线阅读,更多相关《学士学位论文省云视频监控平台方案Word下载.docx(32页珍藏版)》请在冰豆网上搜索。
解决以上问题的一个最有效的方法就是对视频进行智能分析,如果产生预置的报警情况,则自动告知工作人员。
实时转码,保证低带宽下的图像质量和实时性
根据现状可知,虽然已有互为主备的155Mbps专线宽带两条,但由于承载的业务较多,现在如果打开超过3路的视频就会影响到其他业务。
高清摄像机的码流均值为4Mbps,根据这个现状,分析现有的可用带宽预计仅有10Mbps左右,在如此低带宽的状况下需要传输视频监控图像,需要使用到实时转码技术,即:
将高清的图像经过转码后,在保证清晰度的同时大幅降低其码率,将4Mbps的码流压缩成几十或者几百Kbps的流量,从而在极大程度上降低对带宽的依赖,使得在低带宽的情况下保证图像传输的质量和实时性。
视频存储及历史数据回看
对于定时录制的视频数据和部分关键数据进行存储操作,对于历史数据,既提供标准的流媒体输出访问形式,同时也支持FTP直接下载。
同时,由于现有带宽的不足的问题,统一的存储几乎不可行,建议沿用现有的前端存储方案,即:
在每个部门大厅存放相应的录像,需要回看的时候也通过实时转码的技术将其推送给上级用户的客户端。
按平均每个大厅5台监控摄像机计算,存储原始高清码流4Mbps图像,则每个大厅的视频存放1个月总计需要的容量为:
5*(4/8)*3600*24*30=6.48TB
以此类推,存放2个月的容量需求约为13TB。
“平台”输出及接口
“平台”提供标准化的视频输出和接口,数据流和控制流分开,数据流用标准RTSP流媒体协议,控制协议用HTTP协议,以JSON方式封装。
“平台”支持多终端监控,包括电视墙、PC、移动终端等等,同时,需要支持高并发的视频访问能力。
用户管理与控制
建立完整的用户管理体系,区级用户权限与角色,以决定其使用功能范围,用户能够自行为摄像机分组管理。
提供B/S浏览器架构模式的访问方式,方便用户控制和使用,并支持解码上墙的控制管理。
2.架构概述
2.1方案综合构架图
cVideo云视频平台主要由七个模块组成:
前端设备、接入服务器、处理服务器集群、存储服务器集群、流媒体服务器、中心服务器和客户端。
图2-1cVideo总体描述图
cVideo云视频监控系统是南京云创存储公司自行研发和设计的大规模高清视频监控解决方案。
依托本公司的cStor云存储平台,以及cProc云处理平台,使得cVideo构架下的综合调度和云端转码可以完美地满足超大规模视频监控、海量数据存储、以及远距离监控的要求。
同时,cVideo研发了国际领先的智能图像识别算法,采用大规模分布式云处理,使得计算机对视频数据达到了空前的识别和认知水平。
2.1.1模块功能描述
●前端设备:
前端设备在中心服务器的调度下进行信息采集,以RTSP的形式传输给存储/处理服务器集群,或者以SDK的形式传输给接入服务器。
(前端设备包括:
模拟摄像机、网络摄像机、卡口设备、第三方平台等)
●接入服务器:
整合各种前端设备,将不同厂家不同平台的前端设备通过RTSP或者SDK的方式接入本“平台”,以实现多种前端摄像机、已有平台的统一接入,供本平台内其他模块统一调用,并以轮询的方式监听前端设备,如有异常测产生报警信号。
●中心服务器:
平台的核心控制部分,实现了与客户端的信令交互、通过JobKeeper云调度系统来调度云集群节点处理各项任务、并实现对整个平台的统一管理和监控。
a)用户管理功能:
根据用户信息表,管理用户登录、用户的权限,可以管理用户信息、增删用户等。
b)前端信息采集设备管理功能:
根据摄像机和用户的权限,管理当前用户所能涉及的前端设备状态、节点运行状态,并进行实时的更新。
c)与用户和前端设备的信息交互功能:
更新前端信息,并根据客户需求进行对前端设备调度,以及对JobKeeper的任务分发。
同时,进行信息数据的处理,以完成整个平台的调度工作。
d)对服务器集群进行统一的调度管理,获取每台机器的运行状态。
根据机器的运行状态进行自动调度和部署,负载均衡,提高机器的使用率,进而提高服务器的梳理效率。
e)解决服务器集群信息处理的冗余状态,查错排错,保证系统的无人值守、自动生长的高效性。
●存储服务器集群:
使用cStor云存储系统,提供统一的存储资源池,用以存储关键数据,提供历史视频的回看以及相关数据的下载服务。
同时,支持网络挂载盘符的模式,以满足整个平台中其他模块的存储需求。
●处理服务器集群:
大致可以分为接入分析、数据处理和结果分发三个子模块,主要负责对完成对接入视频的各项处理任务,诸如:
内容识别、实时转码、语义分析等,再将处理好的结果发送至流媒体服务器。
●流媒体服务器:
以流媒体服务器的形式对外提供标准的RTSP流媒体服务,用户根据相应的流媒体RTSP地址,即可实时地获取系统处理完后的实时视频数据,以供监控和远程访问。
采用虚拟IP技术,备份冗余机制,对内网推送高清码流;
针对公网移动终端,以实时转码降低码流提高流畅度,并通过apn方式接入,推送视频流。
●客户端:
支持windows、linux、ios、android等主流操作系统,提供B/S架构客户端,控制视频解码上墙等,实现与用户的直接交互。
2.1.2工作流程描述
●客户端发送命令:
客户端向中心服务器发送命令,中心服务器根据客户端信息进行分析判断,得知用户的客户端类型、网络状态、信息要求等,从而根据需求对前端设备、JobKeeper等进行调度控制。
●中心服务器调度:
中心服务器响应客户端命令,对前端设备进行调度控制。
根据用户的指令,把客户需求的信息进行实时采集,同时使用JobKeeper进行对集群的任务分发,完成对应的存储、处理或监控等请求。
●中心服务器调度存储/处理集群:
(A)存储服务器集群接收命令工作
中心服务器响应客户端命令,向JobKeeper发送命令。
JobKeeper根据存储服务器集群的工作状态,选择负载较小的服务器进行高清存储。
(B)处理服务器集群接收命令工作
JobKeeper根据处理服务器集群的工作状态,选择负载较小的处理节点进行实时处理、识别转码,并根据用户的网络状态分发到对应的流媒体服务器。
进而,流媒体服务器将客户所需的处理过后的实时监控视频传递给客户端。
2.1.3子系统描述
2.1.3.1接入模块
前端视频采集设备大致可以分为:
模拟摄像机、支持RTSP标准流媒体协议的网络摄像机、第三方平台,接入系统也相应采取不同的方式,实现前端设备透明地接入本“平台”,使得对前端设备的可控可管。
图2-2接入模块描述
2.1.3.1.1模拟摄像机方式
针对前端的模拟摄像机,我们采用的方式是在其后加设一个NVS网络编码器,使得获取的模拟信号通过编码转换成为标准的流媒体数据,通过网络传输,支持RTSP标准流媒体协议,之后接入系统处理方式如同下面的RTSP方式一样对待即可。
2.1.3.1.2标准流媒体协议RTSP方式
RTSP(RealTimeStreamingProtocol),实时流传输协议,是TCP/IP协议体系中的一个应用层协议,由哥伦比亚大学、网景和RealNetworks公司提交的IETFRFC标准。
该协议定义了一对多应用程序如何有效地通过IP网络传送多媒体数据。
RTSP在体系结构上位于RTP和RTCP之上,它使用TCP或RTP完成数据传输。
HTTP与RTSP相比,HTTP传送HTML,而RTSP传送的是多媒体数据。
针对此类网络摄像机,由于其支持RTSP标准流媒体协议,因而可以直接通过RTSP的准则,将前端设备的数据流接入“平台”。
2.1.3.1.3第三方视频监控平台SDK方式
前端设备多数已有自己的平台,针对这类平台,我们统一归到第三方平台模式,通过与其SDK协议对接,从而实现互通互联。
其中又可以根据通过SDK获取的码流细分为标准流方式和非标准流方式,如果用SDK获取过来的是标准流,则基本类似于RTSP方式,接入系统只需要与前端平台通信获取流地址,之后“平台”就可以根据该地址获取视频流进行处理操作。
如果SDK获取过来的是非标准流(如:
“320”工程和交管局使用的海康平台),则需要增设额外的服务器用于流的转换,即:
将获取的非标准流通过他们的SDK解码还原为原始图像,再按进行标准的编码转换,之后再接入“平台”。
2.1.3.2存储/处理模块
下图2-3描述了存储/处理模块的工作流程与各个分模块之间的关系。
前端设备采集信息接入服务器,Jobkeeper与存储服务器和处理节点进行交互。
处理服务器集群根据客户需求对采集到的信息进行实时处理,在Jobkeeper的综合调度控制下,处理节点进行分布式计算,完成内容识别、云端转码、数据分析、语义分析等任务。
图2-3存储/处理模块图
存储服务器集群和处理服务器并行处理采集到的信息,存储服务器将采集到的信息实时存储到存储节点。
cStor存储服务器集群具备的海量存储能力,保证视频数据的长期存储,以备视频回看、重新处理等需求。
2.1.3.2.1处理模块
处理服务器集群以处理节点为单位,对采集到的数据按照接入、处理、识别转码、分析、分发的流程对数据进行实时处理。
图2-4数据处理举例示意图
处理节点组通过RPC的远程调用获取各自节点的任务处理目标,并实时的和处理节点上的任务处理目标进行对比,控制程序的执行和结束。
处理节点组会在一个设定的心跳间隔内主动的和管理节点组联系一次,报告节点存活状态。
如果在若干个心跳间隔后管理节点组仍然没有获取到处理节点心跳报告,那么该处理节点将会被踢出处理节点组,同时该节点处理的所有处理任务也会被重新调度。
随着集群处理数据量的不断增大,处理节点组提供了简单高效的自动化部署方案,当新机器加入处理集群后,会主动的与管理节点组同步心跳信息,从同一配置服务器ZooKeeper上获取相关配置信息,通过WebServer服务获取任务列表,开始执行数据处理工作。
前端设备将采集到的视频等信息将数据存储至云处理集群并进行相应的云存储处理。
当客户端需要视频转码或者智能识别时,通过JobKeeper调度云处理集群中的各个处理节点,节点收到查询请求后进行不同的处理,并将处理后得到到的数据结果交付给客户端;
而如果是视频数据,则通过流媒体服务器返回给客户端。
2.1.3.2.2存储模块
高性能高可靠的cStorFS分布式云存储文件系统,采用了更为廉价的普通硬盘和服务器作为存储设备,成本大大降低。
同时靠软件来保证数据的完整可靠性,系统可提供7*24小时的不间断存储服务,由于控制流与数据流分离,系统在块数据服务器越多的情况下性能越高。
且随着应用客户端写入的并发数越多,吞吐量接近线性增长直到带宽饱和利用。
其中cStor云存储系统由以下部分组成:
用户挂载空间(即客户端),元数据管理服务器,数据存储服务器和管理监控中心。
图2-5cStor云存储系统组成
2.1.3.3JobKeeper云调度模块
JobKeeper调度平台是建立于虚拟化资源层之上,统一调度,统一配置的管理平台,用于对集群中任务实时的处理调度,实时结果集的反馈,集群的负载均衡,失败调度,集中管理,集中配置的平台。
用来保证整个集群的超低人员干预。
同时,提供完善的集群伸缩机制为整个服务提供更高的可靠性。
图2-6JobKeeper架构图
它是由一组管理节点(MasterNode)和一组处理节点(TaskNode)组成,管理节点组是一组基于Webserver的RPC(注:
RPC采用客户机/服务器模式。
请求程序就是一个客户机,而服务提供程序就是一个服务器。
首先,客户机调用进程发送一个有进程参数的调用信息到服务进程,然后等待应答信息。
在服务器端,进程保持睡眠状态直到调用信息的到达为止。
当一个调用信息到达,服务器获得进程参数,计算结果,发送答复信息,然后等待下一个调用信息,最后,客户端调用进程接收答复信息,获得进程结果,然后调用执行继续进行)。
服务器节点组,负责对处理节点的系统信息以及任务处理信息进行实时的跟踪和保存,对应的信息镜像存储在基于cStor或者NFS服务的存储系统上,保证每个管理节点中的镜像信息的实时同步。
同时架设在管理节点上的ZooKeeper服务(注:
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,包含一个简单的原语集。
分布式应用可以使用它来实现诸如:
统一命名服务、配置管理、分布式锁服务、集群管理等功能),用于对整个管理节点组进行统一的配置化管理。
2.1.3.4流媒体模块
本系统输出为标准RTSP视频流,通过构建流媒体服务器集群和负载均衡机制,使得多台流媒体服务器可以共同对外提供服务,支持高并发访问。
图2-7输出子系统描述
针对PC机和解码上墙,此类需求一般为高清码流,因此布设在环保视频专网内,走局域网保证清晰度和实时性。
针对移动终端,由于其会经过公网,因此采用APN方式连接,APN的英文全称是AccessPointName,中文全称叫接入点,是移动终端上网时必须配置的一个参数,它决定了移动终端通过哪种接入方式来访问网络。
如:
使用联通的3G网络(WCDMA),使用APN接入方式并于其鉴定协议,就可根据用户名判定,生成虚通路连接进入环保视频专网,从而通过流媒体服务器获得视频流。
并且,由于无线信道的带宽不是非常稳定,因此码流一旦较大,视频的传输质量会很差,加之移动终端的解码能力有限。
因此,需要对此类视频做实时云端转码处理,降低其传输码率,从而保障移动终端监控的实时性和稳定性。
2.2cVideo云平台逻辑构架
图2-8cVideo云平台逻辑架构图
cVideo云视频监控系统利用cStor云存储和cProc云处理技术实现高清视频监控,是在服务器集群上部署一整套基于云架构的视频处理软件,下图为简化的cVideo云平台框图,其核心内容是对接入视频的实时处理分析。
基于云计算的模式,采取海量分布式JobKeeper云调度架构,以集群的形式共同对外服务。
以实现诸如视频内容识别、云端转码、智能分析等实时数据、动态伸缩等需求。
最后将处理好的图像信息以流媒体的形式输出,并提供给上层各类应用对应的接口。
●资源层:
包括摄像头、卡口等前端数据采集设备所采集到的原始视频图像数据,以及响应业务信息,如:
人力、车辆、区域分布等资源信息。
●接入层:
整合数据资源、业务资源、存储资源,使其符合系统标准,实现不同资源的接入。
●数据存储层:
即cStor云存储系统,提供海量的存储空间,以备历史数据的回看与处理。
●数据处理层:
即cProc云处理系统,提供高效的视频转码、内容识别等大规模数据处理能力。
●数据分发:
以流媒体服务器的形式提供标准的RTSP流媒体输出,可以支持高并发访问。
●API层:
提供API接口,实现上层应用对底层资源的透明操作,提供业务应用的开发支持。
●调度控制层:
实现对以上各层的综合调度与控制,以实现整套系统机制。
●应用层:
主要包括实时监控、调阅查询、内容识别等视频相关应用,为用户提供友善的界面、人性化的操作方式,能够让用户简单高效的监控多个视频源。
功能如下:
1)信息采集设备的管理,监控控制端对视频中心服务器中的设备数据库进行操作,实现添加和删除系统中的卡口和摄像头。
2)用户管理,监控控制端对视频中心服务器中的用户数据库进行操作,实现用户注册、注销以及权限设置。
3)按时间检索历史记录,提供按时间检索记录的窗口,向视频中心服务器发送检索命令,获取历史记录的相关信息。
4)历史记录回放,根据历史记录的相关信息,播放cStor中的历史记录。
5)录像,监控控制端通过中心服务器向存储管理端发送录像命令,存储管理端控制设备进行录像,获取的数据直接存储到cStor中。
3系统方案
方案采用信令流和数据流分离的方式,在标准X86(X64)服务器集群上部署存储、处理、调度等软件系统,形成一个整体的云视频监控解决方案,实现对现有视频监控资源的整合。
采用云处理和云存储技术,有较高的扩展性和容错能力,解决服务器单点故障问题,降低升级和维护成本。
3.1系统逻框图
本云视频监控平台,是在服务器集群上部署一整套基于云架构的视频处理软件,下图为系统逻辑框图,其核心内容是对接入的海量视频的实时处理分析。
图3-1系统逻辑架构框图
系统基于云计算的模式,采取海量分布式JobKeeper云调度架构,以集群的形式共同对外服务。
资源层:
接入层:
数据存储层:
即cStor云存储系统,提供海量的存储空间,以备历史数据的回看与处理。
数据处理层:
即cProc云处理系统,提供高效的视频转码、内容识别等大规模数据处理能力。
数据分发:
以流媒体服务器的形式提供标准的RTSP流媒体输出,可以支持高并发访问。
API层:
提供API接口,实现上层应用对底层资源的透明操作,提供业务应用的开发支持。
调度控制层:
应用层:
信息采集设备的管理,监控控制端对视频中心服务器中的设备数据库进行操作,实现添加和删除系统中的卡口和摄像头。
用户管理,监控控制端对视频中心服务器中的用户数据库进行操作,实现用户注册、注销以及权限设置。
按时间检索历史记录,提供按时间检索记录的窗口,向视频中心服务器发送检索命令,获取历史记录的相关信息。
历史记录回放,根据历史记录的相关信息,播放cStor中的历史记录。
录像,监控控制端通过中心服务器向存储管理端发送录像命令,存储管理端控制设备进行录像,获取的数据直接存储到cStor中。
3.2子系统描述
3.2.1接入系统
3.2.1.1接入子系统简介
前端设备主要包括:
模拟摄像机、网络摄像机、第三方平台等。
根据完成的功能不同,可以将接入服务器系统中交互的内容分为数据流和信令流。
图3-2接入系统示意图
数据流主要分为三部分,其中支持标准RTSP协议的摄像机可以直接将视频流传输给处理服务器集群;
对于不支持RTSP的摄像机,则通过集成监控设备商的SDK以支持其私有协议(如:
海康威视早期的DVR),再将视频数据重新编码成标准RTSP流发送给本“平台”;
第三方平台中的摄像机可以经平台SDK获取摄像机的url,使用该视频流地址获取数据流。
视频流接入到平台后,再发送到流媒体服务器,从而实现了不同的客户对同一路流的访问,并且减轻了前端摄像机的压力。
图3-3数据流3种情况
信令流主要是完成命令的分发,使接入服务器在中心服务器的调度下完成各项功能。
对于前端设备中的带云台的摄像机,中心端发送云台控制信令,然后接入服务器通过各个不同厂家的SDK完成各种云台操作,如云台上下左右转动、设置预置点、调焦、调距、光圈放大缩小等。
对于第三方平台里的摄像机,中心端可以像接入服务器获取所有设备的列表,并获取某一路的url。
另外,接入服务器还会以轮询的方式监听前端设备,检查所有前端设备在线、不在线、视频信号是否丢失等状态,并及时向中心服务器返回设备的异常状态,使“平台”能更好的实时监控所有设备的状态。
3.2.1.2接入服务器主要功能
接入服务器主要是配合中心服务器来完成一些需要直接操作前端设备或第三方平台的任务。
通过整合不同厂家的SDK,使中心服务器可以更好的统一管理所有的设备。
接入服务器完成的主要功能如下:
获取设备参数信息:
接收中心服务器发来的请求,通过前端设备厂家的协议获取设备参数信息,反馈给中心服务器。
状态信息轮询:
轮询前端设备的状态,及时获取前端设备是否掉线,反馈给中心服务器,由中心服务器告警、记录、显示。
云台控制协议转换:
将系统接收的用户控制信令转换为设备厂家对应的协议,并发送给前端设备,从而使用户实现云台相关功能的控制,例如云台上下左右转动,设置预置点,调节焦距、光圈等。
接入第三方平台:
提供系统与第三方平台的协议转换,实现无缝对接。
通过接入第三方平台的前端监控设备,实现云台控制。
获取视频数据流的地址,以及第三方平台设备的列表、信息、状态。
对少量的不支持标准协议且不提供linuxSDK的前端设备,有针对性的接入,采用SDK接收流并转换成标准协议的数据流。
设备远程参数配置:
提供对前端设备的视频参数配置和网络参数配置功能,从而可以按用户需求来设置前端设备的参数。
视频参数配置包括码流类型、分辨率、码率类型、码率、帧率、视频编码类型等。
网络参数配置包括网卡类型、设备ip地址、DNS服务器地址、多播地址、HTTP端口号、RTSP端口号等。
3.2.2存储系统
图3-4存储系统示意图
存储系统包括cStor存储服务器集群和流媒体存储客户端软件两部分。
流媒体存储客户端软件部署在处理服务器集群上,由JobKeeper调度,将网络视频流按固定时间保持为文件,并通过cStor客户端写入存储集群;
cStor云存储服务器集群提供海量的存储空间,通过cStor客户端挂载到处理服务