过去十年,基于H.264/AVC的视频编解码器一直在流媒体应用领域占主导地位,但随着Apple在iOS 11中采用H.265/HEVC以及Google在Android上力推VP9,形势悄然发生变化。明年Open Media联盟将会发布性能更高的AV1视频编解码器。视频内容提供商不久就要决定除了H.264之外是否需要进一步支持H.265和VP9,带来的结果就是视频编解码器市场将会变得支离破碎。
A. 视频编码复杂度增加:
随着视频编解码器市场的风云变幻以及消费者对更高质量视频的需求,视频内容提供商,广播服务商和OTT(Over The Top)提供商正面临视频编码的巨大开销。新的编解码器如H.265和VP9因为复杂度的增加需要5倍左右的服务器开销。当前,AV1需要超过20倍的服务器开销。此外,SD、HD和UHD视频进一步转向更高的质量,例如HDR,10bit,更高的帧率。将1080p SDR视频转成4K HDR视频需要5倍左右的服务器编码开销。目前360视频和Facebook的6DoF (Degrees of Freedom)视频需求越来越多,服务器编码开销增加了至少4倍。
综合一些因素不难看出,随着未来几年新的视频编解码器出现、更高质量视频以及360视频需求的增加,编码开销可能会增加至500倍:
B. 云端硬编码方案更具优势:
随着编码复杂度持续增加,过去一年一种新类型的云端加速器(FPGA)如雨后春笋般在市场上出现。与通过使用一种指令集进行编程的CPU或GPU不同,FPGA通过电路布线实现。这种方式与传统的专用集成电路(ASIC, Application SpecificIntegrated Circuits)类似,但最大的区别就是FPGA能够“现场编程”。这就意味着FPGA能够在云端按需编程,就像CPU和GPU一样。幸运的是,客户只需要改变一行代码就能将一个软件编码器换成FPGA编码器,并依旧使用之前的工具如FFmpeg。
x265编码器包含许多档(preset)允许用户自定义编码器配置以此平衡整体计算资源和编码需求。x265能在”very slow” 档下编出非常高的质量。在较低的编码速率下能够达到较好的压缩性能,但同时消耗的编码资源也很多。在AWS EC2 c4.8xlarge服务器上跑x265,1080p视频每秒只能编3帧,而编60fps的视频需要20倍c4.8xlarge的性能,每小时会花费33美元。
可以比较的是,视频压缩服务商NGCodec的编码器在AWS EC2 f1.2xlarge FPGA配置下能编出比x264 ”very slow” 档更高的视觉质量,并且在单台f1.2xlarge上能编出超过60fps的视频。总共的花费包括f1服务器和Codec大概只有3美元。与使用多个c4服务器相比,节省了10倍左右的开销并且避免了并行多路直播视频产生过高的复杂度。这在很大程度上得益于公有云提供商如Amazon、Baidu、Nimbix以及OVH早已在云端部署了FPGA,用户可以按需使用。此外,许多数据中心提供商也正在大力发展FPGA云硬件。