视频内容快速转码解决方案
在这个互联网视频年代,大量的视频网站兴起,人们的视频消费习惯已经养成,大量的视频内容不断产生。然而,如何将这些内容在互联网上快速发布已经成为了一项棘手的事情。特别是高清视频开始普及后,录制1小时的1080P高清视频有10GB的容量,上传到视频网站发布需要占用大量的时间。仅此,将视频进行快速转码快速发布成为普遍需求。
顺景科技作为一家专注于视音频编解码技术和流媒体技术研发的公司,在2008年在线视频还未大规模火爆之前就已经看到了这种趋势,因此很早就开始了视频转码方面的研究。在2009年,我们着手开发视频转码大师(将各种格式的视频文件转换成H.264编码的mp4与3GP文件),并于2010年6月推出2.0版,2011年4月成功推出3.0版,推出后不断吸收用户意见,持续改进。由于该工具受到用户的普遍欢迎,这就促使我们不断对转码技术进行升级。
如今,该转码系统已升级到5.0版本,该系统结合了云计算思想,采用MapReduce等分布式计算技术构造一个由多台机器协同工作的云转码平台,达到超快速乃至实时转码的目的,为节目的快速发布提供了坚实的技术保障。
先锋云转码服务器可以将各种格式的媒体流和视音频文件转换为国际标准的视音频流和MP4文件格式(视频支持H.264和H.265编码,音频支持AAC编码),转码过程由转码调度服务器调度多台转码服务器完成节目批量转码工作,转码服务器采用多核心、多线程、多任务的方式进行格式转换处理,并可根据实际使用需求,采用文件分段转码模式完成对用户最短时间完成转码的需求,转码服务器采用CUDA和自主开发的专用硬件加速设备完成转码过程,实现了转码质量和转码效率的双重提升。
先锋高速转码服务器通过转码任务处理软件,方便用户完成批量转码工作,同时基于REST架构模式提供一系列的Web API接口,便于与第三方应用系统整合集成。
1. 先锋高速转码服务器工作方式
1.1. 11B云转码服务模式
转码工作方式:用户首先将各种媒体流【包括实时的直播流和文件流】提交给JobTracker服务器,JobTracker服务器完成文件的分片工作然后将各个子任务提交给转码服务器进行转码工作,完成转码后将实时的直播节目流再以流的方式进行输出,将文件流以mp4文件格式进行存储并上传到ReduceTask服务器完成文件的合并工作,最终提交到业务应用平台供用户使用。
数据流说明:
u 实时流转码:
1. 用户将前端节目流推送给先锋云转码服务器;
2. 先锋云转码服务器根据用户预先设定的转码条件,进行节目流的高速实时转码工作,可同时以多种分辨率和多码流进行格式转换;
3. 将转换后的节目流以多协议方式输出,同时,节目流可以向多目标同时输出;
4. 节目流可以在输出的同时进行录制存储
5. 节目转码过程中可以实现插播功能,比如插入字幕、角标等信息。
1. 文件转码:
2. 用户将前端节目源提交到 JobTracker
3. JobTracker 将文件分片,分配给MapTask
4. MapTask从JobTracker下载分配给它的文件分片,并将该分片转码成完整的mp4文件,同时上传到ReduceTask
5. ReduceTask将所有转码后的mp4文件分片合并成目标文件,并提交到Web Server。
6. 用户从Web Server 下载、点播转码后的文件
节点说明:
1. JobTrack负责对TaskTracker(包括MapTask,ReduceTask)的任务调度
2. 一台MapTrack服务器可以有一个或多个转码单元,转码单元数和转码时间有一个线性反比关系,故此我们借助于专业的硬件转码技术,大幅提高单机支持的转码单元数。
简单起见,ReduceTask可以和JobTacker部署在同一台机器上。
2. 先锋高速云转码平台功能特点
2.1. 13B设备支持广泛
支持各种输入设备,包括卫星信号、广播电视信号接收设备,硬盘文件,CD(包括DTS)、VCD、DVD设备等;
支持各种主流的视音频格式,包括mpeg1/2/4,H.264,H.265,rm/rmvb、wmv、mov、mts等;
支持各种输出参数设置,系统内置主流设备输出参数模板,包括PC、Android手机、iPhone手机、iPod、iPad、AppleTV、PSP、PS3等。
表格一、支持的设备与文件格式
表格二、核心参数设置
2.2. 转码功能支持全面
1. 支持多音轨技术,可保留源文件的所有音轨。
2. 支持字幕转码,包括源文件中的内嵌字幕和外挂字幕。
3. 支持反交错处理,自动对源视频进行反交错处理,提高视频清晰度。
4. 支持添加文本、图片水印
5. 支持自动抽取字幕文件,生成webvtt格式
6. 自动按照设定的时间间隔自动生成剧照,且生成webvtt文件
7. 支持Apple HTTP Live Streaming输出。
8. 支持MP4索引位置输出到文件头,更有利于网络播放。
表格三、支持的字幕格式
2.3. 转码速度优异
支持硬件编解码加速:采用大规模并行计算技术,大幅提升转码性能。比传统的转码方式要高出数十倍。
智能检测机器硬件性能,根据策略启动多个转码进程,每个进程启动多个转码线程同时转码,充分利用多核、多进程、多线程的优势提升转码性能。
支持分段转码:可以将一个文件精确分成多段利用多核同时转码,快速合并成整个文件。
根据实际测试,当前单台服务器的专业版在转码1080P高清节目源时可以达到H.264 x30倍速,H.265 x 4倍速!使用多服务器并行计算,转码速度会呈线性增长。
720P高清节目可以达到H.264 x60倍速,H.265 x 8倍速!
3. 性能指标
3.1. 专业版
硬件:Intel E5-2650 *2,16GB内存,专业硬件加速模块x 2
性能指标:高清(1920 X 1080)H.264 x 30倍速转码,H.265 x 4倍速转码
表格四、标准版与MediaCoder的对比测试报告
4. API接口
先锋云转码平台所有接口基于REST架构,以API的方式提供。主要包括:
4.1. 19B认证接口
提供身份认证相关的接口,包括会话登录,退出,状态查询等。
4.2. 20B事务接口
包括文件上传接口、文件下载接口、节目预览接口(包括自动截取海报)、提交任务接口(包括任务名称、请求资源数、转码后文件保存位置等任务设置)、任务进度查看接口(包括分段进度、整体进度、CPU占用、GPU占用、内存占用等)
5. 5B市场同类产品分析
目前基于云转码或者分布式集群转码的方案主要有以下四种:
1、 CPU方案
完全基于CPU编码,采用服务器集群的方式实现转码并行,有部分支持文件分段。转码速率比较好的能做到H.264 1080P高清3倍速。
2、 CPU+CUDA方案,CUDA为主
CPU仅负责调度(故此CPU占用率低),编解码由CUDA实现。代表厂商:美国elemental。目前能做到H.264 1080P高清12倍速。
3、 CPU+CUDA+专用硬件加速模块 方案,平衡调度
CPU负责调用和任务分割与整合,CUDA和专用硬件加速模块负责编转码,这样可以最大限度利用服务器资源,先锋云转码平台就采用这种方式,目前能做到H.264 1080P高清32倍速, H.265 1080P高清4倍速, 。
4、 虚拟机方式
基于现有的hadoop之类的云架构,采用虚拟机方式构建云转码系统。这是四种方案中资源利用率最低的,优点是可以充分利用云架构的特性,扩充方便。目前能做到1080P高清2倍速。
备注:
因为编转码是高运算的应用,尤其是如果对转码速度还有要求的话,这样在很短的时间内要将大量的视频压缩完成,需要高密度运算,也就是需要CPU和专用转码核心的密切配合才能完成。如果采用虚拟机方案,等于人为地增加了一个中间层,势必大大影响性能。
6. 6B先锋云转码平台优势
6.1. 21B采用适合转码应用的MapReduce架构
对转码应用来说,原始视频文件大小一般较大,尤其是一些高清视频,而凭借公司在网络流媒体领域多年的技术积累,对MapReduce架构做了特殊优化,以满足转码应用的需要。
6.2. 22B完美支持多种格式的分片、转码与合并
目前也有一些公司或者个人借助于开源的ffmpeg等实现视频的分片转码,但是因为开源软件的局限,产品稳定性很差,并且转码速度难以提升,而且分片合并后的文件在衔接处经常伴有杂音、重复出现,非常影响转码效果。而公司因为近十年来一直从事于视音频编解码方面的研发,对各种主流视频的编解码格式都非常熟悉,可以对这些格式做到很好的支持,转码后的文件无杂音、无重复。
6.3. 配合专业级的硬件加速模块提升转码性能
CPU和专业级别的硬件加速模块配合,可以实现转码速度的大幅提升。
7. 与数字资源发布系统无缝整合
先锋云转码服务器可以和多媒体资源应用平台及其它第三方资源应用平台结合,上传节目后自动转换格式,供平台调用。对于上传到多媒体资源应用平台的视音频文件、文本类文件,系统自动调用转码服务进行格式转换,转换完成后,自动添加到平台中,提供视音频文件的mp4转换、文本文件转换为html5格式,提供在线浏览服务。
转码过程:用户上传需转码的视音频文件,并设置转码文件格式,系统标志需要转码的文件,由转码调度服务器定时轮询多媒体资源应用系统,查看是否有新增的转码任务,当转码调度服务器检测到系统有新的转码任务时,启动转码服务进程进行转码,完成转码后将转码文件传回多媒体资源应用系统。
8. 转码服务器硬件视图
l 高性能服务器、关键任务应用服务器、企业服务器、石油&天然气、金融、广电、电信、生物科学;
l 双路英特尔至强 E5-2650系列处理器;R型插座(LGA2011)
l 4个2.5’’热插拔SATA2/3硬盘位
l 8个内存插槽,最大支持256GB DDR3 1600MHz reg. ECC内存
l 3个x16PCI-E 3.0、1个x8 PCI-E 3.0(x16)插槽
l 支持3个GPU/MIC模块(选配)
l I/O接口:2个1GB/10GB(TRFT)网络接口,1个VGA接口,1个COM口/串口,2个USB 2.0接口
l 系统管理:集成专用远程管理功能——IPMI2.0
l 10个高转速对流风扇,并具备优秀的温控管理
l 1800W铂金级认证高效冗余电源(TRF,TRFT)
l 1800W铂金级认证高效电源(TSF)