八百里流媒体服务器系统转码集群

转码系统以转码服务器为主要构件,多台转码服务器组成转码集 群,并接入到VMS集群中。转码集群主要提供视频上传以及转码 服务,其具体表现为:用户上传视频到转码服务器进行转码,在 完成后向存储服务器提交视频数据。

[ 转码系统 ]

[ 转码系统架构图 ]

转码服务器集群由转码服务器组成,转码服务器可细分为转码中心服务器以及转码节点服务器。

转码中心服务器分配转码任务;转码节点服务器维护转码任务队列,进行转码。

[ 主要特性 ]

1.大规模转码

单台服务器受限于CPU、内存等硬件资源,当有许多个视频同时转码时,会达到硬件资源处理能力的上限,导致整体转码进度缓慢。而转码集群能够实现多服务器同时进行转码,满足大规模转码的需求。

2.无限热扩容

当有大量视频同时需要转码时,可能会出现全部转码服务器资源均被消耗殆尽的情况;转码集群模块化可以不影响当前服务的情况下完成扩容,满足转码需求。

3.转码负载均衡

当转码集群中有多台转码服务器时,根据服务器的硬件资源消耗、转码队列等待长度以及其它负载参考因素进行视频的分配,使整个转码集群可以充分利用每台转码服务器的资源,达到负载均衡、快速完成转码的目的。

4.多格式视频输入

转码系统能够导入各种常见格式的视频,包括不同的封装格式和编码格式。

5.先进编码格式支持

作为目前流行的编码格式,H.264已经在流媒体中广泛应用,而H.265作为新一代的编码格式,具有同等效果下更低带宽消耗的特点;因此系统除了支持H.264编码,还支持最新的H.265编码,能够节省大量服务器带宽。

6.可定义的转码参数和图像水印

转码服务器可以自定义转码参数,包括设置水印;在提交转码任务时,需要同时提供转码参数,因此每个任务都有自己的转码参数。在转码时将会根据任务中的转码参数进行转码。

[ 技术优势 ]

1.队列式转码

转码节点服务器拥有一个转码任务队列,在转码时将从队列中取出视频并进行转码;转码过程支持并行转码,即一次从队列中取出多个排队的任务,同时进行转码;是否并行转码的依据为转码节点服务器的硬件资源消耗情况,如果资源足够,则有多个任务同时进行,从而提高转码系统的吞吐量;如果资源少处理能力弱,则一次只有一个转码任务在运行。

2.优先级调控

转码任务队列具有优先级控制能力,所有的转码任务都有相应的优先级参数;在默认情况下所有的转码任务优先级均为0;整个任务队列按照优先级大小降序、任务创建时间升序排列。任务的优先级参数可以根据任务紧急程度进行调整,越紧急的任务,优先级参数越大,越优先进行转码。

3.分段式转码

分段式转码原理是将单个视频文件拆分为多个子任务,再将它们分发给其它转码服务器进行转码。 分段为了兼容所有格式的视频格式,需要采用一种兼容所有编码格式的中间格式。MKV由于格式的兼容性好,可以封装所有的视频编码数据,因此选择它作为视频分段的容器。

分段式转码包含五个步骤
1 转码中心根据转码服务器的负载信息选择主控转码服务器;
2 用户的视频直接上传到主控转码服务器;
3 主控转码服务器对用户上传的视频执行分段并分配分段文件到其它转码服务器;
4 转码服务器对分段文件执行转码;
5 所有分段转码完成后主控转码服务器将各个分段转码的结果进行合并。

[ 分段式转码结构图 ]

[ 产品架构亮点 ]

转码服务器集群
转码服务器 转码中心服务器 分配转码任务 一台转码中心服务器可以管理N台转码节点服务器,它们是管理者与被管理者的关系;转码中心负责管理转码节点的加入以及退出,并且监控每个转码节点的状态(CPU、内存、带宽、磁盘容量以及系统IO等)信息。当上传视频时,转码中心将会根据负载信息选出最合适的转码节点,并将信息返回给调用者。
转码节点服务器 维护转码任务队列, 进行转码 视频上传到该转码节点上,并进入转码队列,等待转码;当视频转码完成后,会根据VMS系统分配的存储地址,提交视频数据。
功能列点
同时输出多码率流 支持多编码方式 集群负载均衡 动态扩容 多格式视频输入
转码优先级调控 分段式转码 Web管理 可自定义转码参数 支持设置水印