我们如何同时为数百万观众扩展直播

2020-10-24 07:08:50

随着Facebook Live和Facebook Watch的增长,在那里共享的内容已经扩大到包括专业制作的广播质量的内容,比如节目和现场活动报道。来自西甲、CONMEBOL和欧足联等提供商的这类专业转播与用户生成内容(UGC)是一个非常不同的挑战,观众的期望要高得多。习惯于传统电视广播的可靠性和质量的观众期望这些Live Streams获得近乎完美的观看体验。

虽然许多公司都做得很好,但我们需要在非常大的范围内同时支持UGC和广播质量的Live Streams。这些视频每次都必须有效-对每个人都有效。为了实现这一目标,我们建立了一个系统,能够管理UGC(在各种设备上以不同的质量级别捕获)和广播质量的高分辨率流媒体,并为世界各地的数十亿人可靠地工作。

要提供如此规模的无缝流媒体体验,整个系统(从接收到交付)都需要可靠-但整个系统的可靠性取决于其最薄弱的组件。大多数UGC内容使用公共互联网,这带来了一些网络条件变化的风险:网络中某处的容量限制可能会降低质量,或者故障可能会导致观众的视频停顿或缓冲。我们从来不希望观众在社交流媒体或专业转播上经历这样的中断,但对于像欧冠决赛这样的大型活动来说,即使是几秒钟丢失音频或视频的影响都是很高的。

我们建立了新的摄取能力,以弥合传统电视制作和为我们的UGC观众设计的基于互联网的摄取之间的差距。我们在每个点(运输、摄取、处理、交付和回放)都构建了冗余,以确保系统能够承受大多数类型的故障。我们扩展了我们的交付基础设施,以支持拥有前所未有的收视率的流。在此过程中,我们发现了新的故障模式-以及在下一次广播时及时缓解它们的方法。

该视频系统现在正在生产中,每天支持UGC和专业广播的数百万直播流。8月份,当我们在Facebook上直播欧洲冠军联赛决赛时,我们达到了大量并发观众,这证明了这个系统本身。巴西和讲西班牙语的拉丁美洲地区的收视率都达到了720万的峰值。要确保这种无缝的可靠性水平,需要在摄取和交付两个方面进行工作。

由于赌注很高,电视广播公司将所有内容都保存在专用的专用路径上,并保证带宽。这些路径在地理上总是不同的:或者是两个独立的光纤路径,或者是带有卫星备份的光纤路径。为了可靠地支持类似的高收视率广播,我们利用具有我们自己的受管编码器的广播设施,以便我们可以轻松访问广播网络,通常是专用光纤和卫星链路,以保持尽可能高的视频/音频质量和可靠性。该设施使用专用且多样化的连接连接到我们的数据中心。

我们还构建了一种机制,允许将主流和备份流接收到我们的基础架构中,并能够在出现问题时手动或自动从主流故障切换到备份流,同时确保查看体验保持完美无缺。

从支持整体广播到支持单个广播的转变意味着我们传统上可以接受的事情(机器重启、网络故障、拥塞等)。现在需要谨慎的减刑。这些缓解措施(协调故障转移、专用链路容量、多条地理分布路径等)。需要在比赛的整个持续时间内进行,这很容易在演出前和演出后运行超过4个小时。

除了无缝和规模化地摄取内容外,我们还需要管理向观众大规模交付视频内容。这些大型活动和广播员会受到数百万人的关注,他们会在Live流开始时收到通知。这会导致试图观看Live流的同时观看人数激增。当边缘缓存服务器(位于用户附近)没有请求的内容时,它们会将请求转发给底层服务。这会导致我们所说的雷鸣般的羊群问题-太多的请求可能会使系统崩溃,导致延迟、中断和与流的连接中断。

我们已经建立了强大的基础设施,通过开发新形式的请求合并和缓存分片来保护我们的后端服务不受这种雷鸣般的羊群问题的影响,这些形式使我们能够可靠地交付视频内容,同时确保实时回放。

在提供视频数据时,我们会尽可能与ISP合作,以防止因这些高并发事件而导致的网络过载。例如,当我们发现里约热内卢的观众体验因Facebook和特定ISP之间的拥塞而降级时,我们将本地互联容量从20Gbps提高到120Gbps。

因此,我们能够将几乎所有的实时视频流量保留在观众的ISP网络内。这使我们的流量保持在国内,远离拥堵的国际链路,这对ISP(降低了成本)和观众(改善了他们的体验)都有好处。有了我们的实时视频缓存和与ISP的密集连接,我们比以往任何时候都更接近我们的观众,因此我们可以以更少的停顿提供更高分辨率的视频。这些投资确保了数百万Facebook观众在欧冠决赛中获得无缝体验。

向720万并发观众播放欧冠决赛取得了成功,让我们更深入地了解了最后一英里的连接挑战。我们能够无缝地摄取视频,对其进行处理,并将其传送到EDGE(我们在那里与ISP互联),但由于当前蜂窝技术的限制,最后一英里的无线电传送对流行游戏来说是一个巨大的挑战。为了在未来解决这一问题,我们正在探索使用LTE-Broadcast为同一蜂窝发射塔上的每个人共享一份流拷贝,以克服这最后一英里的挑战。

投资于连接和互联网基础设施对于帮助更多人带来可靠、负担得起的互联网非常重要。我们即将完成一条新的海底电缆,这将改善拉丁美洲的连通性,提高冗余性和弹性。我们将继续评估新边缘位置的部署,以帮助为网络之间的互联互通创建健康的生态系统,并将流量保持在国内,不仅是Facebook,还包括同一国家内的ISP之间的流量。

虽然这对我们来说是一个重要的里程碑(也是一次学习经历),但这并不是道路的尽头。我们的下一个重大挑战将是新年前夕,这与我们在欧冠决赛中面临的挑战相反。传统上,我们看到来自单个设备的直播流激增,因为世界各地的时钟在午夜敲响的同时,数百万人在播放烟花和庆祝活动!对于除夕夜,我们不是为少量非常流行的广播优化缓存,而是为大量并发的小范围流优化我们的处理、I/O和存储。