自上世纪末,流媒体直播技术兴起以来,伴随着网络基础设施的发展脚步,直播也同频共振般地起势。而近年来 AI、云计算、音视频等技术日趋成熟,以及新冠肺炎疫情带来的“宅经济”刺激,使直播行业的发展势头被进一步激活。
通过网络直播,你可以轻松观看到大洋彼岸正在进行的紧张体育赛事,也可以足不出户就阅尽祖国的大好河山、日出日落,甚至与 6000 万陌生人一起“云监工”火神山医院建设进度,为疫情防控力量点赞。
直播是个好东西,但,直播延时并不是。
或许你曾熬夜守在电商直播间,在秒杀倒计时中,因延时被人捷足先登;也或许在上网课时,因延时错过了重要的知识点;还或许在体育比赛关键时刻,因延时被提前“剧透”了结果。
凡此种种的破坏性体验,皆是「延时」惹的祸,市场对低延时的直播方案提出了需求。
在介绍低延时直播方案前,我们先来看看当下典型的直播架构。
典型的直播架构
在典型直播架构中,左边是推流客户端,协议上才采用RTMP上行。右边是拉流客户端,支持不同的拉流协议拉流,比较常见的是:RTMP, FLV, HLS。
现有架构的优点
这套框架很好的利用了CDN厂商或者说云厂商的能力。尽管拉流协议没有统一,但由于rtmp/flv/hls等拉流协议是比较成熟的流媒体协议,经过多年的发展,各家CDN厂商广泛支持。在云端能力的支持下,服务端并发能力和拉流端加速能力大大增加了,直播行业蓬勃发展。
低延迟直播的现状
直播行业里卡顿和延迟就像是天平的两端。延迟做的越短,卡顿越高。延迟越长,卡顿越少。
一般场景下都是客户端用更大的buffer时长,牺牲延时来满足流畅性。随着行业的发展,在某一些应用场景对延时时间的要求越来越苛刻,比如体育比赛直播,教育场景下老师学生互动等,这时候现有常见的直播流媒体协议的缺点就体现出来了。
一般rtmp协议直播延时在3-10s,如果经过层层CDN的缓存和转发,超过10秒也是常有的事,flv和hls协议的延时更高。就拉流端来说,延