视频技术进入大众视角,大致已有二十多年,更多用户不仅对本地播放习以为常,也越来越多地使用互联网观看视频,占据用户时间的视频服务,其种类也愈发多样,从点播、电视直播到网络直播、短视频,形式和技术相互促进、不断发展。
以往视频技术给人的印象是变化缓慢,每五到八年,才有新一代编解码器被提出并纳入考量,在类似的时间跨度中,虽然新的流媒体协议得到广泛使用,但旧协议仍将存在,转码和流媒体分发的链路几乎是固定的,仅有少部分环节自行定义开发。唯一眼见的趋势,似乎是通过开源项目和技术方案提供商的支持,为初创公司建立音视频体系变得更加容易。
但另一方面,“更好”永远是“好”的对手,为了提供优于竞争对手的用户体验,实际上,当前的视频技术前所未有地复杂,变化迅捷。
其一,视频技术提供的功能比以往更为丰富。
以长视频服务为例,近年来我们看到了一系列的新功能,譬如支持更高的分辨率,4K、8K、16K,更高的帧速率,48fps、60fps、120fps,新的内容格式,HDR、Dolby Atmos,涉及全新类型的设备,VR、AR头显。从技术角度看,上述功能将引入多达数倍乃至数十倍的编码任务,而工作流也远比以往复杂,需要更多的模块和更多样的顺序结构。
当前完整的功能列表中,还可能包括描述式音频(Descriptive Audio)、自动翻译字幕、镜头搜索、智能海报等内容。在播放链路中,分析能力是传统解决方案中所没有的维度。由于视频往往是娱乐公司最有价值的资产,深度学习技术以其在计算机视觉领域的有效性,使用它们从视频中提取从低级到高级不同水平的元数据,能够有助于在转码、流媒体分发上实现深度地优化,同时也能更为有效地支撑衍生的推荐、搜索和广告服务。
故而,在视频处理的领域中,现代化的处理方式将需要考虑设计一个分层、灵活、高吞吐量、低延迟的基础架构,以实现与过往完全不同的工作流。
参考1:一个复杂的工作流示例
参考3:Hulu的大规模容器调度系统CapOS
https://cloud.tencent.com/developer/article/1165953
其二,编码技术的演进更为迅速,手段更为多样。
编码技术始终是音视频技术的基石,AV1自2015年研发,于18年初已正式发布,H.266亦开始了标准化过程,但AV1和H.266还都不是创新的全部。首先,基于内容的编码参数选择能够将视频分割为多个不同的段落,根据每个段落的视频内容选择最佳的编码参数集合。其次,通过前处理或后处理,例如超分辨率、去噪、着色等方式也能够提升视频质量。鉴于对视频内容的认知,预测用户关注的区域并予以资源倾斜,甚至利用GAN网络进行像素和纹理的自动生成,能够给予用户主观上更好的体验,也是另一个主力的发展方向。
对所有编码任务而言,评估能力始终是其核心,VMAF正在席卷工业界,越来越多的公司以之作为衡量编码质量的重要甚至唯一指标,然而其速度往往不尽如人意,限制了其广泛运用,一些公司尝试利用硬件计算能力对其进行优化,还有一些公司则试图寻找质量相当但更为快速的替代品,此外,考虑到其开拓出的前景(特别针对移动设备的VMAF版本,考虑了用户距离和屏幕大小的影响),面向不同用户传输不同编码设置的视频流并非遥不可及。
(VMAF原理,见https://github.com/Netflix/vmaf)
并行转码对短视频或许价值不大,但对力图打造低延迟处理体系的长视频服务则必不可少,其中对多样化格式的支持和对视频末端进行码率控制的问题正在开始受人重视。更关键地,图像处理技术的引入能够帮助内容审查流程的自动化(或准自动化),这对长视频和短视频都有决定性的意义,而上传加速、流式处理、考虑存储位置的任务调度等等都将变成在追求处理速度的系统中的首要设计元素。
深度学习可能染指的不仅在编码器的应用层面,还包括以往的变换、量化、运动估计等看似固定的环节,在一些标准组织的提议中,编码器从以往的黑盒子,可能会变得更加灵活和可自由插拔、组合。此外,像Google这样人工智能的领先企业很可能正在将很大资源投入到端到端的智能编码器的学习过程中,并已经披露出了一些中间成果,与5G的商用相匹配,未来的编码世界或许将大不一样。
其三,流媒体分发技术更加依赖算法和数据,适应性更强。
从流媒体传输协议角度看,RTMP和Flash已经基本落幕,DASH和HLS由于使用HTTP协议,其对浏览器和CDN的亲和性和对多码率、多轨视频的天然支持得到大量视频公司认可,不论Youtube、Netflix还是Hulu都在全力支援,另一大门阀则是以WebRTC为基础的,面向实时传输的协议,利于交互式直播和会议等场景,二者在国内外均存在大量变种协议。
(HTTP协议的码率自适应,图片来自encoding.com)
若站在标准化的角度思考,除非达到类似苹果公司级别的体量,能够推动自有技术标准化,否则与标准对立是不明智的,然而当前的标准或许不能完全满足近年来涌现出来、形形色色的业务需求,例如超快连接、广告插入、服务质量上报等,各家公司在此各显神通,构造出许多完全不同的解法。例如快手近来宣传的私有协议KTP,动机极似早年Real公司RBS协议的旧事,是否未来大浪淘沙,得以屹立,尚待时间的检验,然而如果服务体量达标,能解一时之渴,或者也就值得致力于此。
大致上,过往基于服务端、基于会话的流媒体优化空间较小,而对于基于HTTP的协议,灵活性和优化空间都与以往不同,码率自适应算法、错误处理算法、并行下载、多协议切换、边缘节点选择、视角预测(VR)等算法由客户端驱动是较为自然的选择,也提供了更多的优化方向。
当视频服务体验已经唾手可得,无论用户还是服务提供方都希望更进一步,优化不仅是某几个黑盒环节中的游戏,而变成面向整条播放链路,甚至超出播放链路的存在,对CDN的掌控就是其中极好的范例。
CDN为加速网络访问而存在,其上视频服务往往贡献了大部分流量,传统上的CDN构架和访问流程十分机械,无非是不同层次呈树形分布的节点,而现今在虚拟化技术与调度能力的加持下,整体正在向网状拓扑转化,即任何节点都可以响应所需功能,转码、审查、连麦、图像生成等等,从而视频流的分发可以被纯粹地看作寻找最佳路径的问题,经由性能表现、成本、可理解性、容错水平等方面的平衡得到最优或接近最优的解。
对于CDN缓存的管理,在追求用户体验的旗帜下,重心正在趋向依赖算法,从对内容和用户的理解中获益,以往简单地将热门节目提取推送到边缘节点的行为,正在进化到根据点击预测和整体容量进行调度的层次,并与分发路径的选择深度关联起来。
与大数据技术进行结合,包括设置详尽的埋点信息,完整的数据链路,完备的历史数据,从OLTP到OLAP的完备服务体系,实时、多维度的数据监控与分析平台,灵活且可大规模扩展的A/B测试系统等,数据是近年来流媒体分发优化的一大驱动力,以上述的CDN为例,显而易见,播放器的运行数据,节点的监控数据,视频内容的理解数据,节目宣发计划以及用户行为数据等都期待在调度中发挥作用,为分发决策贡献素材。Conviva无疑在分析和监控领域位居前列,大型视频公司更多不限于此,而是各依需求,搭建满足自身期望的支撑体系。
(Conviva的大数据架技术栈,图片来自infoq.com)
最后,构成技术闭环的重要方向是编码质量以及编码组合的选取,数年前Netflix的“凸壳”理论阐述了如何针对内容进行高效的码率选取,在此基础上许多公司如优酷、Brightcove等以窄带高清或CAE为名开发相关技术,寻求最合适提供给用户的质量水平,以及根据平均网络状况和码率选择概率建立数学模型,确保所选择的编码组合整体交付质量最大化。更进一步,利用用户网络和历史播放、码率切换的数据,可以对上述模型进行修正,编码选择不再是依照平均值固定下来,而是根据用户的真实水平选择,甚至不断调整变化,真正和分发结合起来。
(Brightcove的编码组合选择)
多样化的功能和工作流,内容感知驱动的编码优化,个性化地流媒体分发优化......视频技术的新时代,就是追求“更好”的时代。