如何做到低延迟OTT视频直播

从拨号到无线,互联网在过去十年发生了巨大变化。尤其是随着移动互联网的快速发展,数据流量呈现出爆发式的增长。作为每日交付全球网络互动量接近3万亿次的云平台,Akamai交付的峰值带宽就从2007年的715 Gbps激增到2017年的61 Tbps。当我们仔细探究个中缘由,发现这些其实都要归因于OTT视频的崛起。据统计,全球互联网流量在未来4年还将以23%的速度进行增长,而视频流量的占比将从目前的73%提升至82%,这表明互联网的绝大部分带宽都将为OTT视频服务。


图一、OTT视频的兴起导致全球互联网流量的激增


如何做到低延迟OTT视频直播_第1张图片


的确,从Netflix十年前在美国推出流媒体服务至今,全球OTT视频市场已经从新兴的替代品发展成为新型互联网电视平台,开始与付费电视服务展开竞争。Digital TV Research就预测:到2020年,OTT视频消费市场将价值550亿美元。而随着移动网络的进一步发展、智能手机的普及和消费观念的转变,中国到2022年将一举成为全球第二大在线视频消费国家、为亚太OTT视频市场贡献一半的收入——营收额增加76亿美元、达到120亿美元!


市场前景的看好便意味着竞争的日趋白热化,而视频的传输与播放质量将是OTT视频服务商生存和发展的关键。从中国来看,网络视频直播市场空前繁荣,媒体、社交、电商等企业纷纷进军该行业,而作为直播中的关键技术,延迟时间将决定OTT视频服务商未来的道路。


那么,直播技术该如何实现低延迟呢?在阐述这点前,我们须弄清延迟的几点概念。


首先,视频启动时间不等同于延时。启动时间是指点击视频播放器中的播放键到视频真正播出的时间。因此,视频用户可能花5秒的启动时间看到只有2秒延时的直播内容;也有可能花2秒钟的启动时间看到真实摄像机5秒钟前捕捉到的内容。


其次,播放器只有一次机会在播放启动前去建立一个缓冲区。一旦视频内容开始播放,播放器捕捉到的视频信号就会迅速填满,因此再没有机会去创建缓冲区。


第三,目前视频大多是以切片的方式进行交付,因此每一个切片的长短就决定了直播的最终延时。一个完整的视频流分发包括编码器、第一公里上传、CDN处理、最后一公里交付、播放器几个主要环节(见图二),而延时在任意一个环节中都有可能发生。以苹果推荐的10秒一个切片为例,终端用户将会看到约50秒延时的视频。而如果把每个切片的时长降到2秒,中间的CDN或服务器将会承载更多的请求处理压力,最终的延时将会降到11秒。但是,低延时又与视频播放的稳定性属权衡关系,一味追求极低的延时会在某种程度上牺牲视频播放的流畅度,因此在实际操作中,低于1秒的切片长度并不常见。


图二、切片式媒体交付的延时构成要素


如何做到低延迟OTT视频直播_第2张图片


针对上述分析,作为视频服务提供商的您可以从以下几点来降低端到端的直播延时:


第一、减少编码的延时。编码器可以花4秒的时间去完成一个1秒的切片,也可以花1秒的时间去完成同样的切片。编码器是可配置的,您可以通过各种设置来优化延时。您要确保编码器不是在默认模式下运行,而是在可以更快生成切片的优化模式下运行。然而,在某种程度上,您需要在速度和质量之间作出选择,切片生成的时间越长、视频质量越高,因此一定的延时也是值得的。


第二、减少切片的时间。实践证明,2秒切片的稳定性和质量均很好。1秒切片可用于小质量的中低级运动场景。


第三、减少推流时间。这意味着您需要确保您使用的CDN的接入点非常靠近生成视频流的编码器。


第四、减少CDN的传输时间。您所看到的CDN是一个“云”,内容交给CDN后便无需考虑太多。但CDN由许多的服务器组成,内容需要在中间层、边缘层等逐层传递。因此,CDN厂商在降低传递成本与时间方面的能力也会影响端到端的延时。


第五、减少最后一公里的往返时间。这是最难控制的一部分。我的建议是把视频流从距离终端用户最近的边缘服务器交付给终端用户。


第六、减少播放器启动时的缓冲时间。播放器里启动时间中的切片数量、切片逻辑都会影响到延时,因此您需要更好地设置播放器算法、采用更稳定的ABR规则来降低再缓冲的风险。


除了上述几种方法外,最新的CMAF标准将可以进一步降低OTT视频交付的延时。


CMAF是Common Media Application Format的缩写,由微软、苹果联合MLBAM、思科、Akamai和Comcast在2016年2月向动态图像专家组(MPEG)提出,并在今年7月被批准成为国际标准。CMAF其实是一个标准化的容器,可以同时容纳视频和音频文件并不会对现有编码格式进行任何改变。在目前的OTT视频交付中,视频服务提供商通常使用多种协议(例如:HLS、DASH、Smooth、HDS)来把内容传递给不同的用户,这就给CDN的缓存带来了很大的挑战。而CMAF的出现恰好解决了这一问题。因为是一个容器,CMAF可以同时储存多种协议的播放列表(manifest),由于播放列表尺寸很小,所以CMAF大大降低了编码和存储成本、提高了CDN的缓存效率,从而降低延时。


此外,CMAF采用了一种低延时chunk模式(见图三)。目前的播放器需要拿到一段视频切片后才能播放,但CMAF可以把每个切片切成更小的chunk单元,因此编码器可以在完成一个chunk单元后就交付给CDN和播放器去处理。最终,这种方式既可以保证极低延时的交付,同时还不影响CDN缓存的效率,让其可以更好地去扩展。


图三、CMAF媒体交付


如何做到低延迟OTT视频直播_第3张图片


不积跬步,无以至千里。视频服务提供商只有在OTT直播的每一个环节中降低延时,才能在激烈的竞争中生存和发展。CMAF的出现为OTT视频的低延时交付带来了更光明的未来,随着视频终端商、分发商都开始支持CMAF,CMAF的使用因此也将成为OTT视频服务提供商成功的又一关键所在。作为OTT视频交付中的重要一环,Akamai一直致力于CMAF的发展并已将其纳入到公司的OTT解决方案中。


如何做到低延迟OTT视频直播_第4张图片

本文作者:Akamai媒体业务群首席架构师


你可能感兴趣的:(流媒体)