使用WebRTC构建新一代实时流解决方案

2021-04-14 10:34:12 浏览数 (1)

本文来自Streaming Media 20221的演讲,由Streaming Media的工程师Ryan Jespersen带来,主要介绍了新一代的WebRTC实时流媒体传输实现。

在交互媒体中,推流方案中必须要支持下面这几个要求:双向信息交换,实时低延迟,广播级别的高质量,适应浏览器和高安全性。

人一直以来都对可交互性有着很高的需求,人们需要更真实的远程交互体验。有许多正在朝这个方向努力的应用,如ClubHouse,twitch等。初次之外交互体验还有许多现实价值,如曼联的体育馆有76000个位子,即76000的观众容量,假设票价,按照2019年的平均值,为173英镑,那么总收益有1314万英镑。然而在2020,由于新冠疫情,几乎没有那么多的票卖的出去,然而如果曼联能够为全球的球迷都提供一张虚拟门票,假设每张门票只要一欧元,都能够收获6亿5千九百万英镑的收入。因此,如果具备制作这样的线上虚拟座位的交互技术,将会解锁数不胜数的市场。而在接下来10年里,交互技术的价值也会飞速上升。尤其是在接下来的两年里,交互流传输市场会增长12倍,且交互流传输会逐渐占据几乎所有的实时视频市场。

现在市场上最好的来实现这种交互性的,就是webRTC。Ryan展示了webRTC的工作流程。其中webRTC使用一个浏览器来编码和广播,用另一个浏览器来解码和播放。Ryan展示了webRTC不需要任何依赖的特性,同时可以自己选择最大比特率。

随后Ryan展示了一个被应用在远程产业链中的webRTC工作流程,在世界各地的制作者使用AdobePr,Ae,AVID等软件,并通过NDI来将结果从Adobe中输出到OBS(Open Source Broadcaster) webRTC,并直接用webRTC传输到millicast平台,再直接路由到播放设备上,过程中不需要任何的重编解码。随后Ryan具体展示了OBS-Studio-webRTC的实战demo。

在接下来介绍VR和360度视角直播中的webRTC之前,Ryan决定先介绍一下历史。在15年前,人们使用的是FLASH。FLASH具有加密,1-3s的低延迟应用(相对当时),编码和重播控制,和通过actionscript实现的交互。但之后由于FLASH与ios系统不适配的问题,苹果不再支持FLASH,使用苹果LHS来代替它。又由于苹果在移动设备发展的领导地位,所有的移动设备都逐渐不支持flash。最终,网页浏览器也跟随了苹果停止支持flash。CDN也马上实现了迁移到无状态媒体的成本节省。在这之后,媒体便开始了竞争如何把带宽消耗降低的问题。

FLASH之后,工业上便出现了一个“黑洞”,人们不再关注延迟。人们与HLS和DASH下,习惯了30秒到1分钟水平的延迟,尽管在视频缓存播放方面不受影响,但是实时流应用场景却被遗忘了。

Ryan接着介绍了webRTC的现况。webRTC在2021年1月成为了国际的互联网标准,每个新的设备都需要有webRTC的部署。millicast的父公司一直在于google和苹果合作,帮助他们实现并测试webRTC的部署。webRTC是一个免费的开源项目,通过简单的应用程序编程接口(APL)为web浏览器和移动应用程序提供实时通信(RTC)。它允许音频和视频通信在网页和支持网络的设备中以本机方式工作,无需安装插件或下载本机应用程序。webRTC如此方便,但是却没有被流媒体市场广泛接受,是因为它在推出时仅仅关注的是端到端的实时音频,许多流媒体公司并不注重端到端应用,且会被浏览器的功能所限制,此外,webRTC还需要编码器才能够使用。

webRTC的交互,实时,高质量,网络适配性,安全性都是可以达到的,Ryan接下来介绍了如何去在已经达到的基础上进一步发展。新冠疫情加速了实时流媒体的发展进程,2020年的艾美奖颁奖是在基于webRTC的技术下实现的。远程生产工作室所做的,是他们发现了他们 需要共享实时的,多相机的视频用于生产。这些工作室需要广播质量功能,消费者级别的工作流程,也就意味着它们必须通过消费者级别的网络条件,使用笔记本上的浏览器去操作他们之前操作的播音室里的广播设备。要实现这样的功能,就需要网络弹性。webRTC通过svc可伸缩视频来实现这一点。

Ryan接下来介绍了AV1,并被分为不同的工作流程和解决方案,AV1是免费开源的,有更好的灵活性和压缩能力,具有可扩展的svc编码。

最后附上演讲视频:

0 人点赞