cVideo云转码平台方案.docx

上传人:b****2 文档编号:25848571 上传时间:2023-06-16 格式:DOCX 页数:17 大小:1.58MB
下载 相关 举报
cVideo云转码平台方案.docx_第1页
第1页 / 共17页
cVideo云转码平台方案.docx_第2页
第2页 / 共17页
cVideo云转码平台方案.docx_第3页
第3页 / 共17页
cVideo云转码平台方案.docx_第4页
第4页 / 共17页
cVideo云转码平台方案.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

cVideo云转码平台方案.docx

《cVideo云转码平台方案.docx》由会员分享,可在线阅读,更多相关《cVideo云转码平台方案.docx(17页珍藏版)》请在冰豆网上搜索。

cVideo云转码平台方案.docx

cVideo云转码平台方案

cVideo云转码平台

解决方案

1需求简析

视频云转码平台,要求能做到对现有视频文件按需进行分布式转码,实现不同格式、分辨率等参数的转换,并将转好的文件进行存储,此方案的目标为,基于云架构综合调度,实现高效快速的转码、安全稳定的存储、简单便捷的操作界面等需求。

Ø云端转码

由于视频片源需求的多样化,对于视频节目也有着不同格式、不同分辨率的需求,因此根据不同需求,需要准备与之相应的数据。

然而转码是十分消耗计算机CPU的一项工作,传统模式上依靠单台机器进行转码工作本身性能就已经不高,况且需求路数一多势必会严重影响整体性能,对于大规模的使用显然不适合。

而基于cVideo的云端转码技术,可以很方便地做到分布式高效转码,负载均衡,统一管理,任务分发等工作。

Ø云存储

基于cStor云存储系统,实现对视频数据的存储、管理、调阅等功能。

Ø操作界面

提供网页形式的交互界面,实现按需转码、系统监控、状态查看等功能。

2架构概述

方案综合描述

Ø中心服务器:

负责获取用户从客户端或者其他的上层系统发出的指令,使用JobKeeper综合调度各个系统集群,实现整套cVideo的控制机制。

ØcStor存储服务器:

用以长期存储视频数据,以备调阅及重新处理等需求。

ØcProc处理服务器:

提供视频文件的云端转码所需的大规模数据处理能力和分布式处理方式。

ØWeb界面:

与用户的交互平台,用以向中心服务器发送各种控制指令。

上图简要描述了cVideo的云端转码平台。

用户可以将需要转码的任意格式、任意分辨率的视频文件存储到cStor存储服务器中,然后通过客户端的Web操作页面,根据需求提交转码请求,系统根据设定的切片数量,对源文件的大小和时间轴长度进行拆分转码任务。

通过JobKeeper云调度系统,自动负载均衡,将其分发到相应的处理节点,待分布式的转码完成后,再进行中间结果文件的合并与时间轴重构,并将最终视频文件存放在cStor的指定位置。

这些视频文件经过索引建立一一对应关系,在cProc云处理集群中进行数据处理,实现对视频文件的高效转码,并将结果保存在cStor存储服务器中。

cVideo云转码Web客户端界面如下所示:

cVideo云端转码平台构架

cVideo云端转码平台,是在服务器集群上部署一整套基于云架构的视频处理软件,包括接入层、处理层、资源层、调度控制模块。

上图为简化的cVideo云转码平台框图,其核心内容是对各类视频文件的高效转码。

基于云计算的模式,采取海量分布式JobKeeper云调度架构,以集群的形式共同对外服务。

实现云端转码、动态伸缩、监控管理等需求。

最后将转码好的视频文件保存于cStor存储服务器中,并给用户提供对应接口方便调用。

3方案涉及技术分析

根据以上方案架构,涉及到的具体技术包括了cVideo的云端转码技术、JobKeeper云调度方法、cProc云处理框架、以及cStor云存储技术。

其中cVideo的云端转码技术负责实现视频文件的拆分、转码、合成等上述功能,而JobKeeper和cProc负责综合管理和统一调度,实现云内计算机的联动和各类保障,共同对外提供服务,cStor则负责提供高可靠的海量数据存储能力。

cVideo云端转码

cVideo云端转码简介

随着前端摄像机的清晰度不断提升,其码流和数据量成倍增长。

然而一些终端的处理能力有限,无法支持高清的分辨率;一些需要用到公网传输,带宽无法满足高清的码流的需求;还有一些需要将已有视频文件转化成不同格式的需求等。

视频的编码格式主要的有MPEG、H264、DivX、WMA、RM等,封装格式主要有avi、ps、ts、mov、mkv、mpg等,而不同的播放器对格式的支持也不同,因此不同终端对视频流格式也有着特殊的需求。

面对以上这些因素,为了满足不同的需求,cVideo研发了云端转码技术,以满足用户对不同视频格式、不同分辨率,不同码流,不同终端的使用需求。

不同分辨率的转码效果如下所示:

转码前转码后

针对视频文件的高效分布式云转码,由于视频文件已经存在,因此可以充分发挥云计算分布式的计算性能,将视频文件按时间切分为许多块,每个块被分配到不同的处理节点,待所有块都处理完毕后,再进行重新整合、重构时间轴、封装,从而实现高效地转码,任务分配和调度由JobKeeper完成。

cVideo云转码的主要优势

Ø极高的性价比

cVideo构建于cStor云存储、cProc云计算平台之上,有着低廉、高可靠性的海量存储能力和无限可扩展能力,当用户存储需求增长时,也仅需添加与硬盘价格相仿的cStor存储节点即可,这将大幅降低用户的投资及升级维护费用,系统规模越大越能体现出性价比。

Ø优异的转码性能

对于视频文件,cVideo使用分布式的转码处理,以往使用转码软件在单机转码需要1小时的文件,使用cVideo云转码系统在几分钟(具体时间与处理服务器数量及运转状态有关)内就可以完成转码工作。

Ø高效的调度技术

cVideo在cProc云计算平台上采用JobKeeper云调度机制,将视频这类非结构化数据分发给云中对应节点,高效稳定的合理化分配和执行转码任务,自动负载均衡,实现高效的云端转码。

JobKeeper云调度

JobKeeper简介

如何保证在云计算平台中部分硬件或软件发生故障的情况下仍不影响系统的正常运行;如何保证在云计算平台中高效稳定的合理化分配和执行任务;如何设计一套无人值守,自动生长的高效系统。

这是云创团队在很长的一段时间内思考的问题。

最终在无数次失败又无数次钻研的过程中我们设计研发出了一套能够完全解决系统单点故障问题。

负载均衡,自动调度与部署的高效云调度平台,这就是JobKeeper。

JobKeeper主要优势

Ø高可靠性

平台采用“多主多备,负载均衡”的管理节点设计模式,和“处理实时跟踪”的处理节点设计模式,从而保证无论管理节点还是处理节点都不存在任何单点故障问题。

Ø低依赖性

平台采用模块化设计思想,通过统一化配置和API接口的方式向用户提供服务。

无论用户应用是用何种语言开发,何种处理方式,都可以交由平台进行统一的调度管理。

Ø低干预性

平台采用基于事件化的统一管理模式。

无论是动态扩展集群处理系统能力,还是单点故障的任务转移,又或者是任务的实时监控和动态分配,都将在系统无人值守的情况下自动完成。

Ø高实时性

平台在高效率并行分布式软件的支撑下,可以实现对任务的实时分配,实时调度,实时处理。

在机器性能允许的范围内,计算任务不会出现堆积的显现,所有任务的控制工作基本都在秒级完成,具有前所未有的高效性。

JobKeeper架构

JobKeeper架构图

上图为JobKeeper的基本架构图,下面对其各层作一定描述。

Ø应用层:

一组用于管理和结果反馈的显示组件。

用于显示任务的处理情况以及集群中机器的活动情况,同时其也是一个上层应用和底层服务的对接平台。

是整个系统面向用户和开发人员的基础承载。

Ø业务层:

对于应用层的相关功能的业务化,数字化处理,用于将应用层的需求任务进行规则化划分,形成统一的处理化模式。

Ø数据处理层:

独立的数据处理程序,是对不同需求数据的统一处理方案,他的运行与监控的工作将由JobKeeper调度平台进行统一的配置管理。

Ø存储层:

用来存储数据存储层的处理结果集或者其他中间结果集的单元。

Ø虚拟化资源层:

将实体的机器进行虚拟化,形成更大范围的服务集群。

JobKeeper调度平台是建立于虚拟化资源层之上,统一调度,统一配置的管理平台,用于对集群中任务实时的处理调度,实时结果集的反馈,集群的负载均衡,失败调度,集中管理,集中配置的平台。

用来保证整个集群的超低人员干预。

同时,提供完善的集群伸缩机制为整个服务提供更高的可靠性。

JobKeeper调度平台任务流程

ØJobKeeper调度平台任务流程如上图,它是由一组管理节点(MasterNode)和一组处理节点(TaskNode)组成,管理节点组是一组基于Webserver的RPC(注:

RPC采用客户机/服务器模式。

请求程序就是一个客户机,而服务提供程序就是一个服务器。

首先,客户机调用进程发送一个有进程参数的调用信息到服务进程,然后等待应答信息。

在服务器端,进程保持睡眠状态直到调用信息的到达为止。

当一个调用信息到达,服务器获得进程参数,计算结果,发送答复信息,然后等待下一个调用信息,最后,客户端调用进程接收答复信息,获得进程结果,然后调用执行继续进行)。

Ø服务器节点组,负责对处理节点的系统信息以及任务处理信息进行实时的跟踪和保存,对应的信息镜像存储在基于cStor或者NFS服务的存储系统上,保证每个管理节点中的镜像信息的实时同步。

同时架设在管理节点上的ZooKeeper服务(注:

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,包含一个简单的原语集。

分布式应用可以使用它来实现诸如:

统一命名服务、配置管理、分布式锁服务、集群管理等功能),用于对整个管理节点组进行统一的配置化管理。

Ø处理节点组通过RPC的远程调用获取各自节点的任务处理目标,并实时的和处理节点上的任务处理目标进行对比,控制程序的执行和结束。

处理节点组会在一个设定的心跳间隔内主动的和管理节点组联系一次,报告节点存活状态。

如果在若干个心跳间隔后管理节点组仍然没有获取到处理节点心跳报告,那么该处理节点将会被踢出处理节点组,同时该节点处理的所有处理任务也会被重新调度。

随着集群处理数据量的不断增大,处理节点组提供了简单高效的自动化部署方案,当新机器加入处理集群后,会主动的与管理节点组同步心跳信息,从同一配置服务器ZooKeeper上获取相关配置信息,通过WebServer服务获取任务列表,开始执行数据处理工作。

JobKeeper调度平台提供了一套基于Web的管理化界面,可以实时的观察各个处理节点的任务运行状态,以及任务列表的分配情况,机器的负载情况等。

用户在管理系统界面上可以完成所有的工作,如新任务的添加,任务的手动调度以及集群日志的查看与分析等。

任务处理节点和管理节点之间维护一个心跳时间,实时向管理节点汇报任务处理信息,同时,任务处理节点在每个心跳时间内向管理节点获取该处理的任务列表,并和本机正在处理的任务列表进行比对,完成相关的任务调度工作。

若一个处理节点在多个心跳时间范围内仍然没有主动的和管理节点相互联系,那么管理节点将会根据各机器的负载情况,将失去心跳连接的处理节点上的任务进行任务的重新分配和执行。

Jobkeeper故障处理机制

JobKeeper故障处理

当任务处理节点宕机,或者该任务被初始化时,系统产生相应错误,继而该任务会返还到任务调度层交给调度节点重新分配。

如果任务处理节点宕机或者子任务出现未知错误,那么该任务将返回到任务处理节点上,由任务节点机器重新分配该子任务。

而所有的任务信息和处理节点信息都会定时写入到磁盘文件,因此,不会出现做了一半的任务终止后需要重新执行的问题,系统会自动根据上次执行的情况将错误前的状态迁移到另一台处理节点上,使整个任务继续进行下去。

由于JobKeeper主节点由多台组成,互为主备,热备镜像。

当工作的主节点发生故障时,备用的会自动进行接替,成为新的主节点,确保处理任务不会中断,服务不会停止。

cStor云存储

cStor简介

cStor云存储系统是9年来不断积累研发的高科技产品,是国内最早实现并保持领先的云存储系统,整套系统包括软件与硬件,是一个海量的云存储平台。

与传统的大规模存储系统相比,它具有构建成本低、性能高效可靠、使用简单方便的特点。

在需要存储大量数据(如视频数据、业务数据等)的应用场合,可以大幅提高存储系统性价比。

与目前国际上知名的Google、Amazon等云存储相比,具有更高的性价比、更低的能耗、更加通用和更方便的使用模式。

cStor主要优势

Ø超低成本——系统中采用廉价的大容量存储服务节点,通过cStor系统软件实现统一管理和容错,提供高效、稳定服务。

与使用专用服务器相比,可以将系统构建成本节省5-10倍以上,且规模越大,优势越明显。

Ø高性能——cStor采用了高效的数据读写技术和文件查询技术,支持高并发、高带宽,数据在多个节点上并行读写,服务器自动均衡负载,系统性能随节点数增加而线性增长。

Ø超高可靠性——支持多重数据保护,包括磁盘级的数据冗余,节点级的数据冗余等。

存储节点的数据具有多个副本(默认为3个,可设置)。

任意节点出现故障,系统将会自动复制数据副本到新的节点上,不会丢失数据。

元数据管理节点采用双机镜像模式容错,如果有一节点出现故障,另一节点自动接替之。

Ø绿色节能——自主研发的超低功耗云存储硬件节点,主板尺寸为20cm*20cm,功耗仅为10W左右(不含硬盘),比业界的200W低10几倍。

Ø超高集成度——由于解决了能耗的问题,散热不成为集成度的瓶颈,因而可以在1个标准的42U机架上集成多达80个存储节点,总容量高达1024TB。

Ø易扩展性——可以在不停止服务的情况下,动态加入新的存储节点,无需任何操作,即实现系统容量从TB级平滑扩展到PB级;也可以摘下任意节点,系统自动缩小规模而不丢失数据,并自动将摘下的节点上得数据备份到其他节点上,保证整个系统数据的冗余数。

cStor系统构架

与传统的存储设备相比,云存储不仅仅是一个硬件,而是一个网络设备、存储设备、服务器、应用软件、公用访问接口、接入网、和客户端程序等多个部分组成的复杂系统。

各部分以存储设备为核心,通过应用软件来对外提供数据存储和业务访问服务。

云存储系统的结构模型由存储层、基础管理层、应用接口层以及访问层等四层组成,如下图所示:

cStor云存储系统架构

如上图所示,cStor云存储文件系统采用分布式的存储机制,将数据分散存储在多台独立的存储服务器上。

它采用包括元数据管理服务器(MasterServer)和数据存储节点服务器(ChunkServer)以及客户端节点的结构构成一个虚拟的海量存储卷。

MasterServer保存系统的元数据,负责对整个文件系统的管理,MasterServer在逻辑上只有一个,但采用主备双机镜像的方式,保证系统的不间断服务;ChunkServer负责具体的数据存储工作,数据以文件的形式存储在ChunkServer上,ChunkServer的个数可以有多个,它的数目直接决定了cStor云存储系统的规模;客户端即为服务器对外提供数据存储和访问服务的窗口,通常情况下,客户端都部署在ChunkServer上,每一个块数据服务器,及时存储服务器也是客户端服务器。

对每一个节点,cStor云存储系统提供的管理监控中心都可以对其进行管理,包括设备运行状态、磁盘运行状态、服务在线情况以及异常告警等功能;另外,网管监控中心还提供有如FTP、CIFS、NFS账户添加等客户端管理和配置工具。

这种分布式系统最大的好处是有利于存储系统的扩展和实现,在小规模的数据扩展时,只需要添加具体的ChunkServer即可,而不需要添加整套设备。

cStor部署示意图

cStor云存储部署示意图

cStor云存储系统所有的节点均通过网络的方式连接起来,其中存储节点采用廉价的计算机节点,运用自适应副本管理技术进行容错。

所有存储节点同时担任对外服务功能,客户端分别挂载到不同存储节点访问云存储系统。

通过增加或者减少存储节点的方式,即可以对存储系统进行在线伸缩,由于采用了自适应副本管理技术进行容错,系统在线伸缩的过程中,不影响系统对外提供服务。

4平台功能及性能描述

功能描述

当前云转码平台的系统版本为测试的Demo版,前期需求多集中于ts格式的转码,平台上层应用支持的格式相对较少,但底层编解码库已经支持绝大多数常用格式。

目前支持的视频封装格式:

“.ts”、“.mp4”、“.mpg”;

目前支持的视频编码格式:

“H264”、“MPEG4”、“MPEG2”;

目前支持的音频编码格式:

“FAAC”、“MPEG1”、“MPEG2”;

目前支持的分辨率:

基本支持全部分辨率;

针对“H263”、“XVid”、“MP3”、“LPCM”等音视频编码格式将在下一版本中进行支持,对于其他格式的支持可以根据项目具体需求,也只需根据底层编解码库对上层应用进行相应添加即可,十分方便。

性能描述

云转码的处理性能与服务器CPU、内存、网络、转码文件分辨率、格式转换需求、任务分片数等多方面因素均有关联,因此统一的标准较难给出。

下图为云转码平台测试的结果示意图:

转码性能示意图

与存储共用节点情况下的性能如上图所示,随着转码服务器数量的增多,转码单个文件需要的时间不断减少,整体性能基本线性增加。

同时,对分片数合理分配可以进一步优化转码的效率。

并且云转码平台支持动态扩容,随着需求的不断增加,当现有处理能力无法满足处理总量时,只需要增加处理节点,无需停止服务,即可动态地增加处理性能,实现平台处理能力扩容。

相关测试

目前,云转码平台已经在深圳天华传媒、南京广电等多家单位进行过测试,通过了相关码流分析软件的检测,视频拼接处无卡顿、ts流无PCR-DTS抖动问题。

并且通过了在实际机顶盒推流中的各项指标测试,云转码的性能也得到了各家单位认可。

5.联系方式

地址:

南京市白下区光华路1号白下高新孵化大楼一楼

邮编:

210014

电话:

60

网址:

邮箱:

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 其它语言学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1