音视频直播的两条技术路线

压缩技术解决了,高速公路建成了,接下来就是如何利用这些技术进行产品化了。音视频直播就是众多音视频应用中最亮眼,也是大家最需要的应用。对于不同的行业和领域,在使用音视频直播时,人们往往给直播不同的称谓,比如:在教育领域中使用的直播称为在线教育直播,在远程办公领域的直播称为网络音视频会议,在娱乐领域则称为娱乐直播,等等。

虽然所有的直播底层都是使用音视频和网络传输技术,但由于应用的场景不同、目标不同,所以它们的技术方案也有很大的区别。

对于音视频会议来讲,它关注的是实时通话的质量,也就是说当你开启摄像头、打开麦克风后,远端的用户就可以立即看到你的视频、听到你的声音。同样,你也可以立即看到对方的视频、听到对方的声音。而娱乐直播则与音视频会议不同,它追求的目标是可以让尽可能多的用户观看到节目,视频清晰、不卡顿。但它对音视频延迟要求不高,因此这类直播的实时性比较差。

由此,我们可以知道音视频直播分成了两条技术路线:一条是以音视频会议为代表的实时互动直播;另一条是以娱乐直播为代表的流媒体分发。

所谓实时互动直播,就是指以实时互动为目标的直播。其中 1996 年朱敏创建的 WebEx 公司应该是这个领域中影响最广泛的一家公司。在 20 世纪 90 年代末就可实现多人实时互动聊天,可见它当时的技术有多么前沿。WebEx 仅用四年时间就成功在美国上市,当时引起了不小的轰动。现在大家熟知的 Zoom 创始人袁征、声网创始人赵斌都是 WebEx 的早期员工。

而娱乐直播是从 2002 年开始真正发展起来的,当时 Adobe 推出了基于 RTMP 的流媒体服务器 FMS,它推动了媒体分发技术的广泛应用。从 FMS 之后,各种流媒体服务器相继上市,如 WowzaRed5Nginx-Rtmp ModuleSRS 等。之后各大 CDN 厂商看到了这个巨大的市场,纷纷推出了各自的直播系统,从而形成了现在以阿里、腾讯为首,多家 CDN 并存的市场格局。

这两种技术各有优缺点:互动直播主要解决人们远程音视频交流的问题,所以其优点是实时性强,时延一般低于 500ms;而娱乐直播则主要解决音视频的大规模分发问题,因此其在大规模分发上更具优势,但实时性比较差,通常时延在 3s 以上。表 1.1 中给出了目前常见的几种直播技术。

image 2025 02 22 22 32 41 531
Figure 1. 表1.1 直播技术

在表 1.1 中,只有 WebRTC 技术用于实时互动直播,而其他几种技术都用于娱乐直播。实际上,最初娱乐直播也只有 RTMP 这一种方案可选,但后来由于苹果宣布不再支持 RTMP,并推出了自己的解决方案 HLS,最终导致 RTMP 走向了消亡。HLS 是基于 HTTP 的,它首先对媒体流(文件)进行切片,然后通过 HTTP 传输,接收端则需要将接收到的切片进行缓冲,之后才能将媒体流平稳地播放出来。基于上述机制,HLS 在实时性方面比 RTMP 差很多,但使用它的好处也是显而易见的(苹果产品原生支持),而且娱乐直播本来也对实时性要求不高,因此这种方案被大家广泛采纳。随着 Adobe 公司宣布不再维护 RTMP,那些已经广泛使用 RTMP 的公司不得不变更方案。然而,将 RTMP 换成 HLS 需要付出高昂的成本,于是有人提出了 HTTP-FLV 方案,即传输的内容仍然使用 RTMP 格式,但底层传输协议换成 HTTP,这种方案既可以保障其实时性比 HLS 好,又可以节约升级的成本,因此也受到各方的欢迎。不过 HTTP-FLV 的扩展性比较差,因此它只是一种临时方案。HLS 方案虽然不错(有大量的用户使用),但其他公司也有类似的方案,这使得各直播厂商不得不写多套代码,费时费力。于是,FFMPEG 推出了 DASH 方案,该方案与 HLS 类似,也是以切片的方式传输数据,最终该方案成为国际标准,从而使直播厂商只要写一套代码就可以实现切片传输了。