资源描述
江苏省环保厅重点污染源云计算高清视频监控系统项目方案
69
资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。
江苏省环保厅重点污染源:
云计算高清视频监控系统
目录
第一章 背景需求 4
第二章 系统概述 5
2.1 系统整体概述 5
2.2 系统功能概述 8
第三章 系统设计 11
3.1 系统设计原则 11
3.2 系统设计方案 11
3.2.1 逻辑架构 12
3.2.2 系统架构 14
3.2.3 网络架构 19
3.3 方案优势 21
第四章 子系统描述 23
4.1 接入子系统 23
4.1.1 标准流媒体协议RTSP方式 23
4.1.2 第三方视频监控平台SDK方式 24
4.1.3 传感器检测平台接入方式 24
4.2 存储/处理子系统 25
4.2.1 处理系统 26
4.2.2 存储系统 27
4.3 调度子系统 27
4.4 流媒体输出子系统 29
第五章 关键技术 30
5.1 cVideo智能识别 30
5.1.1 简介 30
5.1.2 应用案例 30
5.2 cVideo云端转码 33
5.2.1 视频转码简介 33
5.2.2 云转码 33
5.3 JobKeeper云调度 35
5.3.1 简介 35
5.3.2 JobKeeper主要优势 35
5.3.3 JobKeeper架构 36
5.4 cProc云处理 38
5.4.1 cProc简介 38
5.4.2 cProc主要优势 39
5.4.3 cProc系统架构 39
5.5 cStor 云存储 42
5.5.1 cStor简介 42
5.5.2 C 1000系列产品特性 43
5.5.3 cStor系统构架 45
第六章 规划部署 46
6.1 规划分析 46
6.2 规划综述 47
6.3 详细报价清单 47
第一章 背景需求
随着全球工业化的深入, 人类的生存环境正日益受到生活和生产所产生的污染物的危害。随着, 中国经济环境的改进, 人们也日益重视生活环境的提高。环境保护、 环境监测成为我们合理利用环境资源、 保护生态环境的重要工作。
改革开放以来, 环境保护部门针对环境保护开展了一系列措施。包括改进能源结构, 提高清洁能源使用率, 推广集中供热, 强化工业结构调整、 污染企业搬迁、 加强机动车尾气控制和扬尘污染控制等等。然而在城市经济持续快速增长和城市化进程不断加快的情况下, 部分企业投机取巧、 打擦边球, 更有甚者只是在环保部门进行企业检查时才搞一些表面工作, 给环境监管带来困难。当前绝大部分环保检测系统仅仅实现了数据监测功能, 如实时采集和监测排污点的二氧化硫和化学需氧量的排放量。然而没有实现图像监控功能则造成无法直观的看到排污点的实际景像。
为此, 建立以环保部门为中心, 相关排污企业为支点的污染源视频监控系统势在必行。加大在重点流域、 水域和饮用水源污染防治和保护工作, 加强城市工业结构调整、 污染企业搬迁和企业污水排放治理, 加强市区河道环境综合整治, 进一步改进水源保护区水质状况和环境质量, 确保饮用水源的环境质量和安全。
第二章 系统概述
2.1 系统整体概述
对工业污染源的监察的功能要求应包括: 环境监察部门能够经过B/S终端、 移动终端、 大屏上墙等方式实时检测到排污口的检测数值( 空气粉尘、 污染气体浓度、 水质PH值等) 、 污水排放流量值及相应的视频图像。经过视频监控排污点的实时情况, 可获得更多的前端信息使环境监测更加直观、 具体。远程对前端污染源进行”实地”观看, 能够很大程度上减少现场视察的成本, 极大提高工作人员到现场监察的次数和”偶然性”, 进而减少被监察对象在现场检查前提前做准备的机会
图2-1 江苏省环保厅排污现场综合视频监控该平台拓扑图
针对此次项目的实际情况, 系统采用如图2-1的平台拓扑图进行平台开发设计。平台整合各类排污点传感器监测平台, 采集不同的环保监测数据, 如PH值、 二氧化碳含量、 二氧化硫含量等, 在相应的视频图像上进行叠加, 既能够看到污染源企业的废弃、 废水的排放图像, 又能显示相关的检测数据。使用户使用在体验上更加直观、 更加方便。
图2-2 排污点视频监控画面图解
针对用户需求, 系统将设计为同时满足大屏显示、 PC客户端查看及移动终端调取方式, 对排污点进行实时监控。
图2-3 大屏显示监测点实时情况
2.2 系统功能概述
1、 远程图像传输
系统采用标准的TCP/IP协议, 可应用在局域网、 广域网和无线网络之上。视频服务器提供RJ-45以太网接口, 可直接接入局域网交换机或者HUB上, 同时, 设备可任意设置网关, 完全支持跨网段、 有路由器的远程视频监控环境。监控中心安装视频监控服务器, 局域网中的授权用户可经过IE浏览器监控远程现场。不同的监控用户可根据自己的监控需求灵活切换到任意一个监控现场, 可多人同时观看一个现场, 也能够不同用户选择任意现场监控。
2、 远程设备监控
监控用户可分配给不同的控制权限。控制权限高的用户可优先对设备进行控制, 如控制云台转动选择监视区域对象; 调节摄像机镜头改变监视范围和观察效果; 还能够对指定的其它现场设备开关进行控制等。
3、 多画面监视
系统具有在同一客户终端上同时监视四路、 八路或者十六路前端图像的功能。用户点击某一路图像时可放大实时监控。
4、 多画面轮巡
监控用户可将监控现场在特定的时间间隔内按顺序轮流切换, 也可在一个图像框内轮巡显示全部的摄像机画面。画面切换间隔时间可灵活设置, 画面间隔时间可调节。
5、 控制优先权机制
管理机制完善, 能够给不同级别的用户分别分配相应的控制权限。
6、 录像与回放
用户能够按时间、 摄像机号、 报警事件等条件智能化快速检索回放记录的录像资料, 能够用软件内置的播放器进行播放。图像播放速度可手动调节。
Ø 计划录像
系统管理员可设定多个时间段对多个监控前端的图像进行录制, 图像数据保存在图像监控系统服务器的硬盘上。定时方式可选择单次录像和每天定时录像, 各个时段能够单独设置。录像速度能够调节。
Ø 报警自动录像
若某一报警探测器布防时选择录像功能, 则当该报警探测器有报警发生时, 自动进行录像, 录像时间用户能够事先设定, 录像速度也能够调节。报警自动录像文件保存在图像监控系统服务器的硬盘上。
Ø 手动录像
监控终端用户可根据需要随时选择系统各个监控前端进行录像控制, 图像数据保存在客户端本地的硬盘上。
Ø 录像回放
用户能够按时间、 摄像机号、 报警事件等条件智能化快速检索回放记录的录像资料, 能够用软件内置的播放器进行播放。图像播放速度可手动调节。
Ø 录像管理
采用cStor海量存储, 保证视频数据无限扩展的同时, 系统安全可靠、 数据安全有效
7、 手动抓图功能
在系统实时监控时, 提供手动抓图的快捷键。用户能够在监控的同时, 将一些重点情况保存。
8、 远程报警及联动控制
当发生报警时, 可联动一个或者几个设备协同工作。报警信号输入可来自烟感探测器、 红外防盗报警探测器等各种报警检测设备, 输出控制信号可配置与各个报警信号相关联。当监视点发生报警时, 系统自动启动各种对应的联动设备, 自动录像。监控客户终端可显示报警信息, 并有声音报警提示。
9、 用户管理功能
提供安全完善的用户帐号密码管理功能和严格的控制权限分级制度。只有经过授权、 拥有帐号密码的用户才能浏览或控制摄象机。
10、 密码保护功能
系统采用严格的操作密码保护机制。现场监控设备―视频服务器, 有用户级密码保护。维护人员如需修改设备设置, 必须输入授权的用户名和密码。
系统访问认证: 用户进入远程视频监控系统必须事先进行输入用户名和密码, 系统管理员根据用户授予相应的权限监视和控制权限。
第三章 系统设计
3.1 系统设计原则
Ø 整个视频监控系统设计先进, 配置合理, 符合标准化、 规范化、 现代化的要求。
Ø 系统设计和设备选型, 充分考虑系统的可靠性、 实用性、 先进性和经济性。
Ø 分布式监控, 集中式管理, 智能化设置、 人性化操作。
Ø 系统中局部故障不影响系统全局的正常工作, 系统稳定, 易维护。
Ø 系统具备很强的扩展能力, 为以后的系统更新、 升级、 扩展, 预留了很大的空间。
Ø 多种网络接入方式, 适合各种网络环境, 应用领域广泛。
3.2 系统设计方案
鉴于此项目50路高清视频实时监控并长时间存储, 在保证监控质量的同时, 监控平台对数据存储和视频数据回调均有较高的要求, 因此建议采用南京云创存储公司自行研发和设计的大规模高清视频监控解决方案。依托本公司的cStor云存储平台, 以及cProc云处理平台, 使得cVideo构架下的综合调度和云端转码能够完美地满足超大规模视频监控、 海量数据存储、 以及远距离监控的要求。同时, cVideo研发了国际领先的智能图像识别算法, 采用大规模分布式云处理, 使得计算机对视频数据达到了空前的识别和认知水平, 对于蓄意破坏视频监控设备的人员、 企图破坏监测仪器的人员、 和不法盗窃人员等等可实现视频智能识别, 自动报警。
3.2.1 逻辑架构
图3-1 cVideo系统架构图
cVideo云视频监控系统利用cStor云存储和cProc云处理技术实现高清视频监控, 是在服务器集群上部署一整套基于云架构的视频处理软件, 上图为简化的cVideo云平台框图, 其核心内容是对接入视频的实时处理分析。
基于云计算的模式, 采取海量分布式JobKeeper云调度架构, 以集群的形式共同对外服务。以实现诸如视频内容识别、 云端转码、 智能分析等实时数据、 动态伸缩等需求。最后将处理好的图像信息以流媒体的形式输出, 并提供给上层各类应用对应的接口。
Ø 资源层: 包括摄像头、 卡口等前端数据采集设备所采集到的原始视频图像数据, 以及响应业务信息, 如: 人力、 车辆、 区域分布等资源信息。
Ø 接入层: 整合数据资源、 业务资源、 存储资源, 使其符合系统标准, 实现不同资源的接入。
Ø 数据存储层: 即cStor云存储系统, 提供海量的存储空间, 以备历史数据的回看与处理。
Ø 数据处理层: 即cProc云处理系统, 提供高效的视频转码、 内容识别等大规 模数据处理能力。
Ø 数据分发: 以流媒体服务器的形式提供标准的RTSP流媒体输出, 能够支持高并发访问。
Ø API层: 提供API接口, 实现上层应用对底层资源的透明操作, 提供业务应用的开发支持。
Ø 调度控制层: 实现对以上各层的综合调度与控制, 以实现整套系统机制。
Ø 应用层: 主要包括实时监控、 调阅查询、 内容识别等视频相关应用, 为用户提供友善的界面、 人性化的操作方式, 能够让用户简单高效的监控多个视频源。功能如下:
1) 信息采集设备的管理, 监控控制端对视频中心服务器中的设备数据库进行操作, 实现添加和删除系统中的卡口和摄像头。
2) 用户管理, 监控控制端对视频中心服务器中的用户数据库进行操作, 实现用户注册、 注销以及权限设置。
3) 按时间检索历史记录, 提供按时间检索记录的窗口, 向视频中心服务器发送检索命令, 获取历史记录的相关信息。
4) 历史记录回放, 根据历史记录的相关信息, 播放cStor中的历史记录
5) 录像, 监控控制端经过中心服务器向存储管理端发送录像命令, 存储管理 端控制设备进行录像, 获取的数据直接存储到cStor中。
3.2.2 系统架构
cVideo云视频平台主要由七个模块组成: 前端设备、 接入服务器、 处理服务器集群、 存储服务器集群、 流媒体服务器、 中心服务器和客户端。
图3-2 cVideo总体描述图
cVideo云视频监控系统是南京云创存储公司自行研发和设计的大规模高清视频监控解决方案。依托本公司的cStor云存储平台, 以及cProc云处理平台, 使得cVideo构架下的综合调度和云端转码能够完美地满足超大规模视频监控、 海量数据存储、 以及远距离监控的要求。同时, cVideo研发了国际领先的智能图像识别算法, 采用大规模分布式云处理, 使得计算机对视频数据达到了空前的识别和认知水平。
( 1) 模块功能描述:
l 前端设备:
前端设备在中心服务器的调度下进行信息采集编码, 并经过网络传输。媒体数据流以RTSP的形式传输给存处理服务器, 或者以SDK的形式传输给接入服务器、 处理服务器; 同时SDK提供设备参数、 状态、 云台控制等信令控制接口。(前端设备包括: 模拟摄像机、 网络摄像机、 卡口设备、 第三方平台等)
l 接入服务器:
整合各种前端设备, 将不同厂家不同平台的前端设备经过RTSP、 SDK的方式接入本”平台”, 以实现多种前端摄像机、 已有平台的统一接入, 供本平台内其它模块统一调用, 并以轮询的方式监听前端设备, 如有异常测产生报警信号。
Ø 获取设备参数信息: 接收中心服务器发来的请求, 经过前端设备厂家的协议获取设备参数信息, 反馈给中心服务器。
Ø 状态信息轮询: 轮询前端设备的状态, 及时获取前端设备是否掉线, 反馈给中心服务器, 由中心服务器告警、 记录、 显示。
Ø 云台控制协议转换: 将系统接收的用户控制信令转换为设备厂家对应的协议, 并发送给前端设备, 从而使用户实现云台方向控制。
Ø 接入第三方平台: 提供系统与第三方平台的协议转换, 实现无缝对接。经过接入第三方平台的前端监控设备, 实现云台控制。获取视频数据流的地址, 以及第三方平台设备的列表、 信息、 状态。
Ø 对少量的不支持标准协议且不提供linux SDK的前端设备, 有针对性的接入, 采用SDK接收流并转换成标准协议的数据流。
l 中心服务器:
平台的核心控制部分, 实现了与客户端的信令交互、 经过JobKeeper云调度系统来调度云集群节点处理各项任务、 并实现对整个平台的统一管理和监控。
Ø 用户管理功能: 根据用户信息表, 管理用户登录、 用户的权限, 能够管理用户信息、 增删用户等。
Ø 前端信息采集设备管理功能: 根据摄像机和用户的权限, 管理当前用户所能涉及的前端设备状态、 节点运行状态, 并进行实时的更新。
Ø 与用户和前端设备的信息交互功能: 更新前端信息, 并根据客户需求进行对前端设备调度, 以及对JobKeeper的任务分发。同时, 进行信息数据的处理, 以完成整个平台的调度工作。
Ø 对服务器集群进行统一的调度管理, 获取每台机器的运行状态。根据机器的运行状态进行自动调度和部署, 负载均衡, 提高机器的使用率, 进而提高服务器的梳理效率。
Ø 解决服务器集群信息处理的冗余状态, 查错排错, 保证系统的无人值守、 自动生长的高效性。
l 云存储系统:
使用cStor云存储系统, 提供统一的存储资源池, 用以存储关键数据, 提供历史视频的回看以及相关数据的下载服务。同时, 作为分布式文件系统, 提供其它模块的支持, 如流媒体服务器集群的支持。
l 处理服务器集群:
大致能够分为接入分析、 数据处理和结果分发三个子模块, 主要负责对完成对接入视频的各项处理任务。
Ø 内容识别: 利用计算机经过图像处理和分析理解画面内容将安保人员从繁重的监控任务中解脱出来。
Ø 实时转码: 将视频转码计算放大云端, 实现整个系统内的实时视频转码, 以满足用户对不同分辨率, 不同码流, 不同终端的使用需求。
Ø 视频数据存储: 将处理后的视频数据进行实时存储, 方便日后回调查看。
Ø 状态监控: 监控各个处理节点的运行状态, 负载均衡, 高效工作。
l 流媒体服务器集群:
以集群的形式对外提供负载均衡的标准RTSP流媒体并发推流服务, 用户根据相应的流媒体RTSP地址, 即可实时地获取系统处理完后的实时视频数据和存储的历史视频数据, 以供监控和远程访问。
Ø 负载均衡、 高并发访问: 经过负载均衡各节点运行状态, 提高系统工作效率, 满足系统的高并发访问需求。
Ø 监控视频流实时转发: 前端视频数据经处理系统处理后, 流媒体服务器将处理后的监控视频流进行实时转发给用户, 满足各种客户端需求
Ø 历史视频数据流化推送:
Ø 服务器状态( 负载、 链接数) 等信息获取:
l 客户端
支持windows、 linux、 ios、 android等主流操作系统, 提供B/S架构客户端等, 实现与用户的直接交互。
( 2) 工作流程描述:
1) 客户端发送命令:
客户端向中心服务器发送命令, 中心服务器根据客户端信息进行分析判断, 得知用户的客户端类型、 网络状态、 信息要求等, 从而根据需求对前端设备、 JobKeeper等进行调度控制。
2) 中心服务器调度:
中心服务器响应客户端命令, 对前端设备进行调度控制。根据用户的指令, 把客户需求的信息进行实时采集, 同时使用JobKeeper进行对集群的任务分发, 完成对应的存储、 处理或监控等请求。
3) 中心服务器调度存储/处理集群:
a) 存储服务器集群接收命令工作
中心服务器响应客户端命令, 向JobKeeper发送命令。JobKeeper根据存储服务器集群的工作状态, 选择负载较小的服务器进行高清存储。
b) 处理服务器集群接收命令工作
中心服务器响应客户端命令, 向JobKeeper发送命令。JobKeeper根据处理服务器集群的工作状态, 选择负载较小的处理节点进行实时处理、 识别转码, 并根据用户的网络状态分发到对应的流媒体服务器。进而, 流媒体服务器将客户所需的处理过后的实时监控视频传递给客户端。
3.2.3 网络架构
图3-3 cVideo数据流图
Ø 接入服务器: 传统视频监控和防范报警系统建设具有投资大、 技术要求高、 设计用户广、 链接环节多等特点。同时, 不同厂商间的设备对视频接入要求不同, 因此要整合现有平台, 提供标准输出。将前端各类设备采集到的视频数据接入到cVideo系统中。同时, 实现与其它平台的对接, 完成信令流的转换。
6) 中心服务器: 负责获取用户从客户端或者其它的上层系统发出的指令, 综合调度各个服务器, 实现整套cVideo的控制机制。
7) cStor存储服务器: 用以长期存储视频数据, 以备视频回看、 重新处理等需求。
8) cProc处理服务器: 提供诸如视频转码、 内容识别、 行为检测、 智能分析等所需的大规模数据处理能力, 为实现传统架构下难以实现的应用提供支持。
9) 分发服务器: 以流媒体的形式将处理后的视频数据提供对外接口, 支持标准RTSP协议。
10) 客户端: 与用户的交互平台, 用以向中心服务器发送各种控制指令。
11) 其它平台: 指其它的可能需要与cVideo对接亦或上层应用的系统
图3-3简要描述了cVideo云视频监控系统的系统数据流。其中支持RTSP标准协议的网络摄像机等前端设备, 能够直接接入cVideo综合处理云平台中; 模拟摄像头经过编码器编码后接入到平台中; 其它平台或前端设备能够经过SDK整合后接入。经过接入服务器后, 进入云处理集群进行数据处理, 实现对实时视频流的内容识别、 转码、 智能分析等功能, 并经过转发服务器以流媒体的形式对外提供服务。对于经过cVideo处理后流出的视频数据, 如果是终端设备( 手机、 IPAD等) 需求, 则直接由cVideo的转发服务器发送转码后的视频流; 如果是上电视墙显示的需求, 将视频流推送给解码器进行解码上墙。
3.3 方案优势
Ø 高性价比和动态伸缩性
cVideo构建于cStor云存储、 cProc云计算平台之上, 有着低廉、 高可靠性的海量存储能力、 数据处理能力和无限可扩展能力, 当用户存储需求增长时, 也仅需添加存储节点即可, 而且支持热插拔、 服务不停动态升级等功能, 这将大幅降低用户的投资及升级维护费用。
Ø 海量视频数据实时处理
高清视频监控中的主要问题是如何处理庞大的高清视频数据。如果采用1080P的高清视频监控, 使用能获得最高压缩比的H.264图像压缩技术处理收集的高清视频, 则压缩输出码率最高可达到6Mbps, 也就是每台摄像机每天将大约产生50GB左右的数据量, 这对于存储、 处理的压力是十分巨大的。
cVideo系统基于分布式的架构, 以集群的形式共同对外提供服务, 将海量实时视频数据的压力均匀分散到每个处理节点上, 实现负载均衡, 保证每个节点都处于高效的运转状态。根据实时性的要求, 我们将数据接入、 处理、 转发等模块做了优化, 尽量做到数据在集群内不迁移, 减少IO和传输操作, 进一步确保实时性的要求。
Ø 基于应用层的HTTP协议交互
为了应对跨平台使用以及第三方应用开发的需求, cVideo对外的接口使用标准的HTTP协议。cVideo省去了繁杂的SDK, 而是在系统内部搭建RPC服务器, 以响应WebServer服务器收到的请求, 提供远程请求方法调用的形式, 只需要以HTTP协议发送请求( 即相应的URL地址) , 系统就会将结果返回, 使得操作十分简便。
Ø 云端转码技术
为了尽可能优化系统性能, cVideo将根据用户客户端的监控需求瞬时动态地调整视频分辨率, 从而在满足用户需求的同时降低对网络带宽的消耗, 因而支持更高的系统规模。
对于摄像头采集的高清视频信号, cVideo将在cProc云计算平台上采用高效实时转码技术, 将采集到的各路高清视频信号转换为符合监控客户端需求的信号, 并实时转发, 这样能够有效地减小监控端处的解码压力, 使得监控更为流畅, 并能有效地支持诸如手机等移动终端的监控需求。
Ø 智能内容识别
cVideo的智能图像检索采用先进的图像处理技术并结合模式识别对已有的海量视频进行事件检索, 实现了对事件发生视频的切片回放、 运动帧提取和对象跟踪。当前cVideo能够对烟、 火、 运动物体、 遗留物、 车辆统计和特定行为等情况下的识别达到很高的识别度, 错检率和误检率几乎为零。
cVideo的智能图像处理构架于JobKeeper云调度和cProc云处理架构之上, 使许多传统模式下难以处理的识别应用得以实现。诸如在犯罪嫌疑人识别问题中, cVideo研发了国际领先的运动目标DNA算法, 首先分析监控视频中目标人物的运动模式, 建立运动DNA序列, 为后续分析处理提供基础。后续分析包括运动目标优化、 运动轨迹分析、 运动特征提取、 步态建模等等。
第四章 子系统描述
本章节将对系统中接入、 处理、 存储、 调度等各个模块进一步细化描述, 经过具体描述, 阐述清楚整个系统的工作流程。
4.1 接入子系统
根据需求, 前端采集设备大致分为: 已有部分模拟监控摄像机、 新建的50个高清网络摄像机、 电信全球眼平台、 传感器检测平台、 以及部分其它第三方平台。鉴于前端设备的不同, 接入系统也分为几种方式, 将前端设备透明地接入本系统, 实现对前端设备的可控可管。
图 4-1 接入子系统描述
4.1.1 标准流媒体协议RTSP方式
RTSP( Real Time Streaming Protocol) , 实时流传输协议, 是TCP/IP协议体系中的一个应用层协议, 由哥伦比亚大学、 网景和RealNetworks公司提交的IETF RFC标准。该协议定义了一对多应用程序如何有效地经过IP网络传送多媒体数据。RTSP在体系结构上位于RTP和RTCP之上, 它使用TCP或RTP完成数据传输。HTTP与RTSP相比, HTTP传送HTML, 而RTSP传送的是多媒体数据。
针对新建的高清网络摄像机, 由于其支持RTSP标准流媒体协议, 因而能够直接经过RTSP的准则, 将前端设备的数据流接入系统。
4.1.2 第三方视频监控平台SDK方式
针对电信全球眼和其它第三方视频监控平台, 则需要针对这些平台厂家给出的SDK协议, 接入服务器经过与其平台进行对接和协议通信, 从而获取所需的视频流。由于第三方平台一般与环保视频专网互相隔离, 大都需要经过公网, 因此在接入时需要经过网闸, 因此接入并发量和传输效率可能会受到少许影响, 需要针对实际情况做一些优化措施。
4.1.3 传感器检测平台接入方式
不同与前面两种接入方式, 针对前端传感器采集到的数据, 大都为处理后的文本信息, 在数据总量上会远小于视频数据, 可是条数, 即: 数量却十分庞大, 因此对于此类前端设备, 需要经过接入服务器, 实时地将大量前端采集合成后的文本信息存入数据库中。
4.2 存储/处理子系统
图4-2 存储/处理模块图
上图描述了存储/处理模块的工作流程与各个分模块之间的关系。前端设备采集信息接入服务器, Jobkeeper与存储服务器和处理节点进行交互。
处理服务器集群根据客户需求对采集到的信息进行实时处理, 在Jobkeeper的综合调度控制下, 处理节点进行分布式计算, 完成内容识别、 云端转码、 数据分析、 语义分析等任务。
存储服务器集群和处理服务器并行处理采集到的信息, 存储服务器将采集到的信息实时存储到存储节点。cStor存储服务器集群具备的海量存储能力, 保证视频数据的长期存储, 以备视频回看、 重新处理等需求。
4.2.1 处理系统
处理服务器集群以处理节点为单位, 对采集到的数据按照接入、 处理、 转码、 分发的流程对数据进行实时处理, 后续需求会加上智能识别等模块。
图4-3数据处理举例示意图
处理节点组经过RPC的远程调用获取各自节点的任务处理目标, 并实时的和处理节点上的任务处理目标进行对比, 控制程序的执行和结束。处理节点组会在一个设定的心跳间隔内主动的和管理节点组联系一次, 报告节点存活状态。如果在若干个心跳间隔后管理节点组依然没有获取到处理节点心跳报告, 那么该处理节点将会被踢出处理节点组, 同时该节点处理的所有处理任务也会被重新调度。随着集群处理数据量的不断增大, 处理节点组提供了简单高效的自动化部署方案, 当新机器加入处理集群后, 会主动的与管理节点组同步心跳信息, 从同一配置服务器ZooKeeper上获取相关配置信息, 经过WebServer服务获取任务列表, 开始执行数据处理工作。
前端设备将采集到的视频等信息将数据存储至云处理集群并进行相应的云存储处理。当客户端需要视频转码或者智能识别时, 经过JobKeeper调度云处理集群中的各个处理节点, 节点收到查询请求后进行不同的处理, 并将处理后得到到的数据结果交付给客户端; 而如果是视频数据, 则经过流媒体服务器返回给客户端。
4.2.2 存储系统
高性能高可靠的cStorFS分布式云存储文件系统, 采用了更为廉价的普通硬盘和服务器作为存储设备, 成本大大降低。同时靠软件来保证数据的完整可靠性, 系统可提供7 * 24小时的不间断存储服务, 由于控制流与数据流分离, 系统在块数据服务器越多的情况下性能越高。且随着应用客户端写入的并发数越多, 吞吐量接近线性增长直到带宽饱和利用。
其中cStor云存储系统由以下部分组成: 用户挂载空间( 即客户端) , 元数据管理服务器, 数据存储服务器和管理监控中心。
图4-4 cStor云存储系统组成
4.3 调度子系统
JobKeeper调度平台是建立于虚拟化资源层之上, 统一调度, 统一配置的管理平台, 用于对集群中任务实时的处理调度, 实时结果集的反馈, 集群的负载均衡, 失败调度, 集中管理, 集中配置的平台。用来保证整个集群的超低人员干预。同时, 提供完善的集群伸缩机制为整个服务提供更高的可靠性。
图4-5 JobKeeper架构图
它是由一组管理节点( Master Node) 和一组处理节点( Task Node) 组成, 管理节点组是一组基于Webserver的RPC( 注: RPC采用客户机/服务器模式。请求程序就是一个客户机, 而服务提供程序就是一个服务器。首先, 客户机调用进程发送一个有进程参数的调用信息到服务进程, 然后等待应答信息。在服务器端, 进程保持睡眠状态直到调用信息的到达为止。当一个调用信息到达, 服务器获得进程参数, 计算结果, 发送答复信息, 然后等待下一个调用信息, 最后, 客户端调用进程接收答复信息, 获得进程结果, 然后调用执行继续进行) 。
服务器节点组, 负责对处理节点的系统信息以及任务处理信息进行实时的跟踪和保存, 对应的信息镜像存储在基于cStor或者NFS服务的存储系统上, 保证每个管理节点中的镜像信息的实时同步。同时架设在管理节点上的ZooKeeper服务( 注: ZooKeeper是一个分布式的, 开放源码的分布式应用程序协调服务, 包含一个简单的原语集。分布式应用能够使用它来实现诸如: 统一命名服务、 配置管理、 分布式锁服务、 集群管理等功能) , 用于对整个管理节点组进行统一的配置化管理。
4.4 流媒体输出子系统
本系统输出为标准RTSP视频流, 经过构建流媒体服务器集群和负载均衡机制, 使得多台流媒体服务器能够共同对外提供服务, 支持高并发访问。
图4-6 输出子系统描述
针对PC机和解码上墙, 此类需求一般为高清码流, 因此布设在环保视频专网内, 走局域网保证清晰度和实时性。
针对移动终端, 由于其会经过公网, 因此采用APN方式连接, APN的英文全称是Access Point Name, 中文全称叫接入点, 是移动终端上网时必须配置的一个参数, 它决定了移动终端经过哪种接入方式来访问网络。如: 使用联通的3G网络( WCDMA) , 使用APN接入方式并于其鉴定协议, 就可根据用户名判定, 生成虚通路连接进入环保视频专网, 从而经过流媒体服务器获得视频流。
而且, 由于无线信道的带宽不是非常稳定, 因此码流一旦较大, 视频的传输质量会很差, 加之移动终端的解码能力有限。因此, 需要对此类视频做实时云端转码处理, 降低其传输码率, 从而保障移动终端监控的实时性和稳定性。
第五章 关键技术
以上系统架构中, 涉及到的具体技术包括了cVideo的智能识别技术、 cVideo的云端转码技术、 JobKeeper云调度方法、 cStor云存储技术、 以及cProc云处理框架。其中cVideo的智能识别和云端转码技术负责对视频流的进一步处理, cStor实现对海量视频数据的存储, 而JobKeeper和cProc负责综合管理和统一调度, 实现云内计算机的联动和各类保障, 共同对外提供服务。
5.1 cVideo智能识别
5.1.1 简介
随着平安城市的建设, 视频监控系统的基础建设已经初具规模而且仍在迅速扩大, 几十万甚至几百万个摄像头所得到的视频监控影像资料是庞大的, 要从中获取事件相关的信息需要花费巨大的时间和人力。视频内容分析技术(Video Content Analysis, VCA)来源于计算机视觉, 它能够在图像及图像描述之间建立映射关系, 从而使计算机能够经过图像处理和分析来理解画面中的内容, 其实质是”自动分析和抽取视频源中的关键信息”。视频内容分析技术将大量的、 枯燥的视频内容分析工作交给了编码器或计算机, 将保安人员从传统的繁重监控任务中解脱出来, 它对传统的视频监控技术是一个”颠覆性”的创新, 改变了多年来人们应用视频监控系统的习惯。
cVideo的智能图像检索采用国际先进的图像处理技术并结合模式识别技术对已有的海量视频进行事件检索, 实现了对事件发生视频的切片回放、 运动帧提取和对象跟踪。
5.1.2 应用案例
Ø 特定人物视频检索
cVideo自行研发的视频DNA算法, 应用在犯罪嫌疑人识别问题中, 首先分析监控视频中目标人物的运动模式, 建立运动DNA序列, 为后续分析处理提供基础。后续分析包括运动目标优化、 运动轨迹分析、 运动特征提取、 步态建模等等。
图5-1 目标运动DNA序列 图5-2 目标运动图谱
图5-3 目标运动DNA序列 图5-4 目标运动图谱
Ø 人流/车流统计
由于车辆的急剧增加, 虽然道路基础设施得到了很大程度的改进, 可是交通拥挤的现象日趋严重, 简单的道路视频监控已经不能满足当前的需要。为了改进这种局面, 为道路状况提供实时、 准确的信息成为更加迫切的需求, 推广实施各重要交通道口区域实时交通状况图像监控是非常必要的。即在城市各重要交通道口安装一套智能交通监控系统, 经过图像传输通道将路面交通状况实时上传到道路监控指挥中心, 中心值班人员能够据此及时了解各区域路面状况, 并据此调整各路口车辆流量, 保持道路通畅。
图5-5 交通道口车流检测统计
这项技术同样能够应用于人流统计、 以及对旅游景点、 闹市区和大型展会的人员密度分析等。视频分析的结果受到监控视频图像质量的影响, 雨雪等恶劣天气条件下得到的监控视频图像质量要比晴朗天气条件下的图像质量要差很多。于是, 如何消除雾雨雪等恶劣天气的影响是至关重要的。
图5-6 雾雨雪等恶劣天气检测
Ø 事件检测
事件检测是cVideo智能视频分析的又一个成功例子。事件检测包括禁区检测、 过线检测、 遗留物检测、 物品丢失检测、 打架/徘徊检测等, 事件的成功检测能够大大降低危险事件的发生率, 将犯罪扼杀在摇篮里。我们采用的事件检测方法具有参数自适应且错检率低的优点。
图5-7 行为检测( 遗留钱包)
5.2 cVideo云端转码
5.2.1 视频转码简介
随着前端摄像机的清晰度不断提升, 其码流和数据量成倍增长。然而一些终端的处理能力有限, 无法支持高清的分辨率; 或者需要用到公网传输, 带宽无法满足高清的码流的需求等。
视频转码是一种将已压缩的视频数据从一种格式转换为另一种格式的技术, 视频的编码格式主要的有MPEG、 H264、 DivX、 WMA、 RM等, 封装格式主要有avi、 ps、 ts、 mov、 mkv、 mpg等, 而不同的播放器对格式的支持也不同, 因此不同终端对视频流格式也有着特殊的需求。
视频转码是一个高运算负荷的过程, 需要对输入的视频流进行全解码、 视频过滤/图像处理、 而且对输出格式进行全编码。最简单的转码过程仅仅涉及到解码一个比 特流和用不同的编解码器重新编码两个步骤。这种硬转码看似很简单, 只需要一个解码器和一个编码器, 可是最终显示结果并不理想, 因为视频数据解码后重新编码会降低画质。
硬解码无法利用捷径, 因此和采用智能转码算法的方法相比, 要求更高的处理器性能而且产生更大的功耗。如果全部经过软件进行临时处理, 需要2GHz频率的处理器。以现在PC上的CPU的运算能力, 在运行其它程序的情况下, 是无法支持实时的高清视频转码。
5.2.2 云转码
由于视频转码计算量很大, 单一的计算机不可能实现整个监控系统内的摄像头实时视频数据的转码。cVideo研发了云端转码技术, 将视频转码计算放大云端, 实现整个系统内的实时视频转码, 以满足用户对不同分辨率, 不同码流, 不同终端的使用需求。
展开阅读全文