本文是2020年4月17日来自Bitmovin的一篇Tech Talk,主题是降低OTT的峰值带宽,演讲者是来自Akamai的首席架构师Will Law和来自Bitmovin技术产品市场经理Sean McCarthy。
演讲主要涵盖了公司简介、降低带宽的原因、具体要降低的内容并提出了6种不同降低拥塞的技术(利用编码器,播放器和CDN技术等),最后给出了测试结果和对比。
Bitmovin于2013年由两个研究MPEGDASH的博士在奥地利创立,至今拥有超过30项专利并和多所大学有合作。Bitmovin的核心价值驱动是提高用户的观看体验,更快更高效地使产品和服务商业化,以及优化多种参数比如成本、风险和复杂度。Bitmovin的产品主要是基于平台的编码器,跨平台播放器和用户端分析工具,这些产品可以单独使用也可以相互整合使用。Akamai是一个分布式全球化公司,向全球范围内提供内容和服务,服务器遍布全球4100个地点,136个国家,专注于媒体,性能和网络安全,同时也在物联网和区块链等新兴领域探索。
由于COVID-19的爆发,过去一个月Akamai的网络流量增长了30%,这是平常平均一年的增长量,峰值流量也由去年三月份的82Tbps增长至今年三月份的167Tbps;BItmovin在过去一个月也出现了大范围的用户观看量和下载量的增长。短时间网络流量的大规模爆发增加了网络拥塞的可能性,Sean以南非为例,证明了Bitmovin在降低网络拥塞和流量方面的技术可行性。
自适应比特率播放器和TCP拥塞控制算法一定程度上可以调节网络状况,但是不是所有的网络流都是自适应流,用户观看的视频流和游戏下载、软件更新、API调用和网站传输共享;网络流是多种协议流的混合,包括Http1/2/3,Http2+QUIC, UDP等;一个协议保证公平的能力依赖于它所使用的拥塞控制算法,Akamai使用的拥塞控制算法就有5种:BBR, FastTCP, Reno++, QDK, Cubic, 其他的网络流可能使用不同的算法,比如FastTCP出现了BBR的竞争流,BBR会将FastTCP的带宽挤占地所剩无几。
本次演讲提出了6种降低峰值带宽消耗的方法以降低网络拥塞,并通过一个播放器范例演示了每种方法对视频比特率选择和平均下载速率等的变化。
1. CAE编码
CAE指通过分析视频内容的复杂度而选择最优化的编码参数,最后生成的是针对每一个视频的特定的比特率选项。Bitmovin使用了一项灵活的专利算法去分析视频复杂度并得到合适的编码参数,在一个H.264编码视频的例子中,使用CAE编码最终节省了72%的存储空间和56%的平均比特率,但观看质量几乎没有变化。
2. 加强版编解码器
相对于H.264, 在不降低视频质量的前提下,HEVC、VP9和AV1分别节约了40%,40%和70%的比特率,过去由于设备支持问题,新的编解码器没有大规模部署,Bitmovin举例在H.264编码视频中加入H.265/VP9编解码方案后,在原先比特率降低的基础上进一步地压缩了34%左右的码率。
3. 内容提供商去除最高比特率
在服务器源端手动修剪掉最高比特率,可以直接修改manifest来达到,这样可以在不改变视频的编解码参数直接控制视频码率,但是用户的观看质量会有一定程度的下降。
4. 由播放器限制最高比特率的播放
Bitmovin的播放器有很多特性,可以用API控制播放器来达到限制最高比特率的效果,禁止最高比特率的播放。
5. CDN动态修改manifest
在不能改变视频参数、源端服务器和播放器的情况下,Akamai CDN可以在传输视频的时候过滤某些播放列表,过滤可以通过请求、地理位置、时间等进行灵活调整。
6. CDN下载速率节流(throttling)
CDN一般情况下总是尽量以最快的速率传送内容,在视频展示的例子中,8.7Mbps的视频内容以136Mbps的速率传输,是实际所需速率的15倍,这造成了94%的空余带宽浪费。通过CDN限制网络速率至视频最高比特率的几倍(3x~5x)以内,可以降低峰值带宽,同时播放器依旧可以以最高比特率进行播放,CDN网络流量会更平滑,让带宽分配更加公平。
最后Will以表格的方式展示了6种方式的性能。