《海关视频接入方案.docx》由会员分享,可在线阅读,更多相关《海关视频接入方案.docx(15页珍藏版)》请在三一文库上搜索。
1、海关视频接入方案15 / 15文档可自由编辑打印目录第一章背景需求. 3第二章系统概述. 52.1 视频接入概述 . 5第三章系统设计. 103.1 系统设计原则 . 103.2 系统设计方案 . 103.2.1 逻辑架构. 11第四章关键技术. 184.1cVideo 视频云端转码 . 184.1.1 视频转码简介. 184.1.2 云转码. 194.2 视频云调度 . 204.2.1 云调度简介. 204.2.2 JobKeeper 主要优势. 204.2.3 JobKeeper 架构. 21第一章 背景需求某市海关作为一级直属海关,有必要也有能力将关区内的所有视频平台都纳 入到统一的某市
2、海关视频管理系统内,这些各隶属关的视频数据,要能够被总关 随时调看,同时也能为海关的其他业务部门服务。现实是各隶属海关的视频平台 千差万别,品牌众多,有的视频平台厂商实力雄厚,能提供丰富的接口供外边调 用,有的视频平台建设时间久远,大大落后于现实的需要,甚至有些隶属海关没 有自己的视频平台,而是作为当地视频平台的用户,因此某市海关整合全关区的 视频资源的任务,任重而道远。图 1-1 某市海关视频现状某市海关的情况尤为突出。如图 1 所示,某市电子口岸的视频平台建设已经 十来年了,原有的平台、编码器,厂家也不负责升级,没有源代码,编码器也早 停产,但是某市的近千路模拟摄像头还是通过这些老的编码器
3、接入到这个旧平台 内,正常使用中。某市海关作为电子口岸视频平台的一个用户,用它的插件能随 时调看所需的视频图像,但是由于这个平台没有了源码及一切技术资料,很难将 里面的视频给外网调用。现有三十来路视频,是通过老型号解码器将数字信号变 成模拟信号,然后用一个现在标准的编码器将模拟信号再变为数字信号,供外边 调用。后来新加的很多数字摄像头,也是通过这种数字变模拟,再接入老编码器 的方式接入视频平台的。对于某市海关的现状,南京云创存储科技有限公司利用公司深厚的技术积累, 在只有平台可执行程序的基础上,成功的从电子口岸视频平台内取出视频流,并 能正确解码,这也就意味着,在原有系统正常运行的情况下,只要
4、引入云创公司的 cVideo 平台,就能把所需的视频数据导出外网,供某市海关调用。云创公司 的 cVideo 平台,不仅能从电子口岸视频平台取出视频流,还能提供丰富的对外 接口,支持 PC 机、IPAD、手机等客户端访问视频,同时可以直接接入市面上绝 大多数的高清摄像头、编码器、视频平台等等,有利于现有设备的逐步更新改造。第二章系统概述2.1 视频接入概述针对某市海关视频平台的现状,本着最大化利用现有投资,逐步更新改造的 原则,云创公司提出如下方案:在保持原有平台、架构不变的前提下,引入云创 的 cVideo 平台,它能将某市海关所需的 200 路视频接入进来,并提供服务给某 市海关调用,同时
5、新增的高清摄像头可以直接接入 cVideo 平台,老的编码器逐 步淘汰,新的编码器也可以直接接入 cVideo 平台。cVideo 平台不仅能提供丰富 的对外接口,同时支持 PC 机、IPAD、手机等客户端访问。整体方案如下图所示。第三章系统设计3.1 系统设计原则整个视频监控系统设计先进,配置合理,符合标准化、规范化、现代化的要 求。系统设计和设备选型,充分考虑系统的可靠性、实用性、先进性和经济性。3.2 系统设计方案cVideo 平台为某市云创存储公司自行研发和设计的大规模高清视频监控解 决方案,依托本公司的 cStor 云存储平台,使得 cVideo 构架下的综合调度和云 端转码可以完美
6、地满足超大规模视频监控、海量数据存储、以及远距离监控的要 求。更是通过对视频监控平台产品的理解,利用深厚的技术积累,能获取某市电 子口岸视频平台中的视频流,并提供给某市海关调用。3.2.1 逻辑架构图 3-1 cVideo 系统架构图cVideo 云视频监控系统利用 cStor 云存储和云处理技术实现高清视频监控,是在服务器集群上部署一整套基于云架构的视频处理软件,上图为简化的cVideo 云平台框图,其核心内容是对接入视频的实时处理分析。 基于云计算的模式,采取海量分布式 JobKeeper 云调度架构,以集群的形式共同对外服务。以实现某市电子口岸视频接入、视频转码等需求。最后将处理好的图像
7、信息以流媒体的形式输出,并提供给上层各类应用对应的接口。l资源层:包括摄像头、卡口等前端数据采集设备所采集到的原始视频图像数 据,以及响应业务信息,如:人力、车辆、区域分布等资源信息。l接入层:整合数据资源、业务资源、存储资源,使其符合系统标准,实现不 同资源的接入。l数据存储层:即 cStor 云存储系统,提供海量的存储空间,以备历史数据的 回看与处理。l数据处理层:即云处理系统,提供高效的某市电子口岸视频接入、视频转码 等大规模数据处理能力。l数据分发:以流媒体服务器的形式提供标准的 RTSP 流媒体输出,可以支持 高并发访问。lAPI 层:提供 API 接口,实现上层应用对底层资源的透明
8、操作,提供业务应 用的开发支持。l调度控制层:实现对以上各层的综合调度与控制,以实现整套系统机制。l应用层:主要包括实时监控、调阅查询等视频相关应用,为用户提供友善的 界面、人性化的操作方式,能够让用户简单高效的监控多个视频源。功能如 下:1) 信息采集设备的管理,监控控制端对视频中心服务器中的设备数据库进 行操作,实现添加和删除系统中的卡口和摄像头。2) 用户管理,监控控制端对视频中心服务器中的用户数据库进行操作,实 现用户注册、注销以及权限设置。3) 按时间检索历史记录,提供按时间检索记录的窗口,向视频中心服务器 发送检索命令,获取历史记录的相关信息。4) 历史记录回放,根据历史记录的相关
9、信息,播放 cStor 中的历史记录5) 录像,监控控制端通过中心服务器向存储管理端发送录像命令,存储管 理端控制设备进行录像,获取的数据直接存储到 cStor 中。第四章关键技术以上系统架构中,涉及到的具体技术包括了 cVideo 的云端转码技术、 JobKeeper 云调度方法、cStor 云存储技术。其中 cVideo 的云端转码技术负责对 视频流的进一步处理,cStor 实现对海量视频数据的存储,而 JobKeeper 负责综 合管理和统一调度,实现云内计算机的联动和各类保障,共同对外提供服务。4.1cVideo 视频云端转码4.1.1 视频转码简介随着前端摄像机的清晰度不断提升,其码
10、流和数据量成倍增长。然而一些终端的 处理能力有限,无法支持高清的分辨率;或者需要用到公网传输,带宽无法满足 高清的码流的需求等。视频转码是一种将已压缩的视频数据从一种格式转换为另一种格式的技术,视频 的编码格式主要的有 MPEG、H264、DivX、WMA、RM 等,封装格式主要有 avi、 ps、ts、mov、mkv、mpg 等,而不同的播放器对格式的支持也不同,因此不同 终端对视频流格式也有着特殊的需求。视频转码是一个高运算负荷的过程,需要对输入的视频流进行全解码、视频过滤/图像处理、并且对输出格式进行全编码。最简单的转码过程仅仅涉及到解码一 个比特流和用不同的编解码器重新编码两个步骤。这
11、种硬转码看似很简单,只需 要一个解码器和一个编码器,但是最终显示结果并不理想,因为视频数据解码后 重新编码会降低画质。硬解码无法利用捷径,所以和采用智能转码算法的方法相比,要求更高的处 理器性能并且产生更大的功耗。如果全部通过软件进行临时处理,需要 2GHz 频率的处理器。以现在 PC 上的 CPU 的运算能力,在运行其他程序的情况下,是 无法支持实时的高清视频转码4.1.2 云转码 由于视频转码计算量很大,单一的计算机不可能实现整个监控系统内的摄像头实 时视频数据的转码。cVideo 研发了云端转码技术,将视频转码计算放大云端,实 现整个系统内的实时视频转码,以满足用户对不同分辨率,不同码流
12、,不同终端 的使用需求。图 4-1 转码前图 4-2 转码后视频接入模块首先将不同厂家的前端设备接入进来,对于支持 RTSP 的采集设备, 我们利用标准的流媒体协议接口实现视频和音频数据的传输。对于不支持 RTSP 的采集设备,我们利用设备厂商提供的 SDK 进行接入。然后利用高效的转码技 术,将采集到的高清视频信号解码后再重新编码,在满足用户需求的同时降低对 网络带宽的消耗。同时将转码后的视频流推送给流媒体服务器分发出去。图 4-3 云转码流程4.2 视频云调度4.2.1 云调度简介如何保证在云计算平台中部分硬件或软件发生故障的情况下仍不影响系统的正 常运行;如何保证在云计算平台中高效稳定的
13、合理化分配和执行任务;如何设计 一套无人值守,自动生长的高效系统。分布式云调度系统 JobKeeper 能够完全解决系统单点故障问题。负载均衡,问题。 与视频系统结合形成自动调度与部署的高效视频云调度平台。4.2.2 JobKeeper 主要优势高可靠性:平台采用“多主多备,负载均衡”的管理节点设计模式,和“处 理实时跟踪”的处理节点设计模式,从而保证无论管理节点还是处理节点都 不存在任何单点故障问题。低依赖性:平台采用模块化设计思想,通过统一化配置和 API 接口的方式向 用户提供服务。无论用户应用是用何种语言开发,何种处理方式,都可以交 由平台进行统一的调度管理。低干预性:平台采用基于事件
14、化的统一管理模式。无论是动态扩展集群处理 系统能力,还是单点故障的任务转移,又或者是任务的实时监控和动态分配, 都将在系统无人值守的情况下自动完成。高实时性:平台在高效率并行分布式软件的支撑下,可以实现对任务的实时 分配,实时调度,实时处理。在机器性能允许的范围内,计算任务不会出现 堆积的显现,所有任务的控制工作基本都在秒级完成,具有前所未有的高效 性。4.2.3 JobKeeper 架构图 4-4JobKeeper 架构图上图为 JobKeeper 的基本架构图,下面对其各层作一定描述。应用层:一组用于管理和结果反馈的显示组件。用于显示任务的处理情况以 及集群中机器的活动情况,同时其也是一个
15、上层应用和底层服务的对接平台。 是整个系统面向用户和开发人员的基础承载。业务层:对于应用层的相关功能的业务化,数字化处理,用于将应用层的需求任务进行规则化划分,形成统一的处理化模式。数据处理层:独立的数据处理程序,是对不同需求数据的统一处理方案,他 的运行与监控的工作将由 JobKeeper 调度平台进行统一的配置管理。存储层:用来存储数据存储层的处理结果集或者其他中间结果集的单元。虚拟化资源层:将实体的机器进行虚拟化,形成更大范围的服务集群。JobKeeper 调度平台是建立于虚拟化资源层之上,统一调度,统一配置的管理平 台,用于对集群中任务实时的处理调度,实时结果集的反馈,集群的负载均衡,
16、 失败调度,集中管理,集中配置的平台。用来保证整个集群的超低人员干预。同 时,提供完善的集群伸缩机制为整个服务提供更高的可靠性。图 4-5JobKeeper 调度平台任务流程JobKeeper 调度平台任务流程如上图,它是由一组管理节点(MasterNode) 和一组处理节点(TaskNode)组成,管理节点组是一组基于 Webserver 的 RPC(注:RPC 采用客户机/服务器模式。请求程序就是一个客户机,而服务提 供程序就是一个服务器。首先,客户机调用进程发送一个有进程参数的调用 信息到服务进程,然后等待应答信息。在服务器端,进程保持睡眠状态直到 调用信息的到达为止。当一个调用信息到达
17、,服务器获得进程参数,计算结 果,发送答复信息,然后等待下一个调用信息,最后,客户端调用进程接收 答复信息,获得进程结果,然后调用执行继续进行)。服务器节点组,负责对处理节点的系统信息以及任务处理信息进行实时的跟 踪和保存,对应的信息镜像存储在基于 cStor 或者 NFS 服务的存储系统上, 保证每个管理节点中的镜像信息的实时同步。同时架设在管理节点上的 ZooKeeper 服务(注:ZooKeeper 是一个分布式的,开放源码的分布式应用 程序协调服务,包含一个简单的原语集。分布式应用可以使用它来实现诸如:统一命名服务、配置管理、分布式锁服务、集群管理等功能),用于对整个 管理节点组进行统
18、一的配置化管理。处理节点组通过 RPC 的远程调用获取各自节点的任务处理目标,并实时的 和处理节点上的任务处理目标进行对比,控制程序的执行和结束。处理节点 组会在一个设定的心跳间隔内主动的和管理节点组联系一次,报告节点存活 状态。如果在若干个心跳间隔后管理节点组仍然没有获取到处理节点心跳报 告,那么该处理节点将会被踢出处理节点组,同时该节点处理的所有处理任 务也会被重新调度。随着集群处理数据量的不断增大,处理节点组提供了简 单高效的自动化部署方案,当新机器加入处理集群后,会主动的与管理节点 组同步心跳信息,从同一配置服务器 ZooKeeper 上获取相关配置信息,通过 WebServer 服务
19、获取任务列表,开始执行数据处理工作。JobKeeper 调度平台提供了一套基于 Web 的管理化界面,可以实时的观察各个处 理节点的任务运行状态,以及任务列表的分配情况,机器的负载情况等。用户在 管理系统界面上可以完成所有的工作,如新任务的添加,任务的手动调度以及集 群日志的查看与分析等。任务处理节点和管理节点之间维护一个心跳时间,实时向管理节点汇报任务 处理信息,同时,任务处理节点在每个心跳时间内向管理节点获取该处理的任务 列表,并和本机正在处理的任务列表进行比对,完成相关的任务调度工作。若一 个处理节点在多个心跳时间范围内仍然没有主动的和管理节点相互联系,那么管 理节点将会根据各机器的负载情况,将失去心跳连接的处理节点上的任务进行任 务的重新分配和执行。