论文部分内容阅读
随着音视频分享网站、直播网站、短视频网站的大规模出现,音视频压缩与处理需求越来越多,音频与视频的处理技术也越来越受到国内外的广泛关注,视频分享网站例如优酷、乐视、爱奇艺、腾讯视频,直播网站例如斗鱼,短视频App比如今日头条、抖音、快手等,传统的单机转码,专用设备转码,越来越不能满足现有音视频,直播,短视频网站的需求。针对这些问题,视频网站为了满足自我生产视频与满足UGC(User Generated Content)用户乃至内部PGC(Professional Generated Content)生产需求,研发了分布式转码系统,使用多台设备并行转码,以提高视频生产速度,提高用户体验等。现阶段大量分布式转码系统使用了分布式计算框架Hadoop框架进行分布式转码[1],由于视频文件与其他数据处理方式有较大不同,故通用开源分布式计算框架直接用于多媒体文件处理有较大难度,难度主要体现在通用开源分布式计算框架如Hadoop等在转码过程中IO开销较高,过程复杂,且没有转码业务级别的监督管控系统。针对这些问题,本文分析了通用开源框架的优势与缺点,提出了进一步的改进方案。论文的主要创新点体现在:(1)针对流程优化任务调度策略,使用户总体等待时间最短,根据IO与计算任务进行拆分与合理规划调度,针对多媒体文件进行IO优化,较Hadoop开源框架进行的分布式转码减少了4次IO操作,将所有冗余文件拷贝IO操作减到最少,最大程度使用机器资源来提高转码速度。(2)分布式转码全程可监控,可度量,各阶段状态、耗时的历史数据可追溯。具有跨集群监控管理系统,可控制集群间任务配比与单集群开关,方便做集群负载均衡,集群运维与灰度。(3)使用分布式监控协调技术,任意节点出现故障不影响集群工作,调度器会自动将问题节点剔除集群,并将在其上的子任务进行重新调度,任意子任务卡死也不会影响集群工作。调度器设置超时时间,对超时的子任务会进行回收与重分配,乃至于调度者实例所在机器故障或调度器异常退出也不会影响,多个调度器实例会进行自动选主并恢复工作。实验数据显示,在性能测试中,单机转码耗时随着视频时长线性增加,分布式转码耗时随着视频时长增长不明显,36分钟的视频分布式转码比单机转码少耗时69%,可见转码系统随着视频时长的增加,能显著减少转码耗时,在等待时长测试中,并发提交10个视频进行转码,两台机器的分布式转码集群等待时长比单机转码的用户等待时长短43.8%,三台机器比两台机器的转码集群等待时长短80.6%,说明在用户大量提交视频的情况下,随着计算节点的增加,用户平均等待时间能大幅减少,目前此转码系统已使用在了某大型视频分享网站的生产环境中,部署于数百台机器上稳定运行,日均视频吞吐达到数万级别。