一种基于分布式环境的视频转码系统及视频转码方法技术方案

技术编号:13458906 阅读:138 留言:0更新日期:2016-08-03 18:34
本发明专利技术公开了一种基于分布式环境的视频转码系统,其包括有管理服务器、分布式转码服务器、元数据服务器、流媒体服务器和存储有视频文件的视频源服务器,所述管理服务器用于实现视频转码系统内部的调度管理;所述分布式转码服务器用于执行具体转码任务;所述元数据服务器用于收集整个转码过程中产生的元数据,对视频文件、转码参数、视频的分片、分片存放位置和各个分片的传输转码时间进行收集和管理;所述流媒体服务器用于对转码之后的视频文件生成视频流。本发明专利技术具有转码效率高、质量更好、扩展性更强、配置更简单、转码成本更低等有益效果。

【技术实现步骤摘要】
【专利摘要】本专利技术公开了一种基于分布式环境的视频转码系统,其包括有管理服务器、分布式转码服务器、元数据服务器、流媒体服务器和存储有视频文件的视频源服务器,所述管理服务器用于实现视频转码系统内部的调度管理;所述分布式转码服务器用于执行具体转码任务;所述元数据服务器用于收集整个转码过程中产生的元数据,对视频文件、转码参数、视频的分片、分片存放位置和各个分片的传输转码时间进行收集和管理;所述流媒体服务器用于对转码之后的视频文件生成视频流。本专利技术具有转码效率高、质量更好、扩展性更强、配置更简单、转码成本更低等有益效果。【专利说明】-种基于分布式环境的视频转码系统及视频转码方法
本专利技术设及视频转码
,尤其设及一种基于分布式环境的视频转码系统及 视频转码方法。
技术介绍
云计算是一种商业计算模型,它将计算任务分布在大量计算机构成的资源池上, 使用户能够按需获取计算能力、存储空间和信息服务。"云计算并不是一种新技术,而是并 行计算、分布式计算和网格计算的继承与发展,或者说是运些科学概念的一种商业实现,同 时也是效用计算、网络存储、虚拟化、负载均衡等传统计算机与网络技术发展融合的产物。 云计算从技术上解决了大规模海量数据分布式存储、海量数据实时备份、并行计算和应用 高度集成等问题,并凭借其高度安全可靠的特点W及个性化的应用深受企业和用户欢迎。 现有技术中,通常使用单一的转码服务器对视频进行转码,转码完成后,再将转好 码的视频传输到视频的ftp服务器,运种方式优点是实现起非常简单,其缺点在于转码速度 慢,效率低,费时费力,且承受不了高并发或者大量的转码任务。 现有技术中的另一种转码方法,是利用当前比较成熟的分布式技术,采用多台转 码服务器同时并行的对一个视频文件进行转码工作。它的工作原理是将切割好的视频分段 分别传输到不同的转码服务器上,调用各个转码服务器上的转码程序进行转码工作,转码 完成后,将各个视频分段传输到合并服务器,合并成一个完整视频文件,将运个完整的视频 返回给用户。运种方式的优点是可W并行转码,转码所需要的时间短,扩展性强,可W扩展 到很大的规模来应付海量的视频转码任务,其缺点在于实现复杂,需要考虑视频分段和合 并,当视频量大的时候还需要考虑转码任务的调度、异常处理等问题。
技术实现思路
[000引本专利技术要解决的技术问题在于,针对现有技术所存在的海量视频数据转码效率 低、延迟大、质量差等不足,提供,用 W取得转码效率高、质量更好、扩展性更强、配置更简单、转码成本更低等有益效果。 为解决上述技术问题,本专利技术采用如下技术方案。 -种基于分布式环境的视频转码系统,其包括有管理服务器、分布式转码服务器、 元数据服务器、流媒体服务器和存储有视频文件的视频源服务器,其中:所述管理服务器用 于实现视频转码系统内部的调度管理,并在接收转码请求后从视频源服务器下载视频文 件,将视频文件进行分割后提交到分布式转码服务器,并调度各slave节点进行分布式转 码;所述分布式转码服务器用于执行具体转码任务,对管理服务器提交的分割后的视频分 块进行分片,将分片元数据信息提交到元数据服务器,并根据调度指令进行转码工作;所述 元数据服务器用于收集整个转码过程中产生的元数据,对视频文件、转码参数、视频的分 片、分片存放位置和各个分片的传输转码时间进行收集和管理,W供转码系统进行分析;所 述流媒体服务器用于对转码之后的视频文件生成视频流,当用户点击视频文件的时,提供 HTTP视频流供用户在客户端点播和观看。 -种基于分布式环境的视频转码方法,该方法包括如下步骤:步骤SI,获取转码任 务,该任务指定了视频源服务器、转码后的格式、分辨率及码率信息; 步骤S2,节点选择,选择低负载slave节点进行转码任务;步骤S3,从视频源服务器 下载待转码文件,调用mkvmerg按照GOP分段和128M块大小对视频进行分割,同时将分割后 的文件上传到各slave中;步骤S4,元数据服务器记录源视频文件所分割成的视频分块,记 录每个视频分块所存储的slave节点;步骤S5,提交转码任务而进行分布式转码,并在提交 任务时配置转码参数,各slave节点根据参数对本地存储的视频分块进行配置转码;步骤 S6,S lave节点接收到转码任务后,调用本地库FFmpeg进行转码,若转码成功,元数据服务器 记录转码文件元数据,否则,Master节点调度其他存储该视频分块的slave节点重启该转码 任务;步骤S7,元数据服务器记录转码后的元数据信息,包括:码率、文件格式、文件分块数 量、文件次序和存储位置。 优选地,执行转码任务时,包括如下步骤:步骤S50,初始化状态队列,包括节点可 接收的任务总量taskSum、当前运行任务数量currentTaskSum、当前所需转码时间 currentTimeSum、可用存储容量;步骤S51,接收一个转码任务,将任务加入节点工作队列, 当前任务数量加上视频文件的大小,当前所需转码时间加上任务所需转码时长;步骤S52, 完成一个视频任务,当前任务数量减去对应视频文件的大小,当前转码时长减去对应转码 时长,并将该任务从工作队列移除;步骤S53,转码节点的选择,读取各节点状态队列并计算 任务状态,对于每一个节点选择值最低的节点。 优选地,视频的分割过程包括:步骤S30,获取待分割视频文件总帖数和并计算分 割块数量;步骤S31,遍历时间标签,估算分割点位置,要切分的文件时间=文件时长/文件 块数;步骤S32,在分割时间标签点查找最近的GOP分组; 步骤S33,调用址vmerge对视频进行分割。 优选地,slave节点内的转码任务调度包括如下步骤:步骤SlO : slave定期向 master节点发送屯、跳包,当负载空闲时,向master请求任务;步骤Sll :maste;r节点返回该 slave节点中任务队列指向的转码任务;步骤S12:slave每完成一个转码任务,任务队列中 的指针后移一个位置,并删除队列中完成的任务,同时指向下一个转码任务,当任务为最后 一个转码任务时,将指针指向第一个作业;步骤Sl 3:每新接受一个转码任务,将该任务插入 任务指针所指向的队列之后。 优选地,slave节点间的任务调度包括如下步骤:步骤S20 ,master接收slave节点 包含负载信息的屯、跳包,如果有空闲任务位,则进入步骤S21,如果没有,结束过程;步骤 S21 ,slave节点有转码任务运行且有n个空闲的任务位;步骤S22,选择slave节点对应的任 务队列,判断队列有任务存在,按照节点内任务调度算法分配一个任务,否则,转到W下步 骤;步骤S23,是否分配了 n个任务,若是,转到步骤S24,若不是,转到步骤S22;步骤S24,返回 运n个任务给slave节点;步骤S25,选择集群内的每一个slave节点,判断该节点负载,选择 负载较高节点;步骤S26,从该节点中选择一个任务;步骤S27,返回分配的任务给slave节 点。 本专利技术提供的视频转码系统及视频转码方法,其提供了更大的网络吞吐量,可同 时使用集群内的所有处理器并行处理多数目的视频文件,针对较大的视频文件,能够W最 大的处理速度来保证视频质量,对于高清视频的转码能更好的本文档来自技高网
...

【技术保护点】
一种基于分布式环境的视频转码系统,其特征在于,包括有管理服务器、分布式转码服务器、元数据服务器、流媒体服务器和存储有视频文件的视频源服务器,其中:所述管理服务器用于实现视频转码系统内部的调度管理,并在接收转码请求后从视频源服务器下载视频文件,将视频文件进行分割后提交到分布式转码服务器,并调度各slave节点进行分布式转码;所述分布式转码服务器用于执行具体转码任务,对管理服务器提交的分割后的视频分块进行分片,将分片元数据信息提交到元数据服务器,并根据调度指令进行转码工作;所述元数据服务器用于收集整个转码过程中产生的元数据,对视频文件、转码参数、视频的分片、分片存放位置和各个分片的传输转码时间进行收集和管理,以供转码系统进行分析;所述流媒体服务器用于对转码之后的视频文件生成视频流,当用户点击视频文件的时,提供HTTP视频流供用户在客户端点播和观看。

【技术特征摘要】

【专利技术属性】
技术研发人员:刘跃刘莉谭建军甘健鸿苏福
申请(专利权)人:广东亿迅科技有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1