前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >WebRTC 和 AV1 赋能交互式实时流媒体

WebRTC 和 AV1 赋能交互式实时流媒体

作者头像
用户1324186
发布2021-11-15 17:14:55
9830
发布2021-11-15 17:14:55
举报
文章被收录于专栏:媒矿工厂媒矿工厂

来源:Global Video Tech Meetup:BCN 演讲者:Ryan Jespersen 整理:李昊勇 本文来自 Global Video Tech Meetup:BCN 站,这篇文章主要介绍了基于 WebRTC 和 AV1 的实时交互多媒体流的部署与应用。

目录

  • 开场
  • 低延迟交互市场需求
  • 如何使用 WebRTC 和 AV1 创造低延迟交互服务
  • WHIP: WebRTC HTTP Ingestion Protocol
  • 应用场景

开场

本视频是 Global Video Tech Meetup:BCN 站的一场演讲,由 Millicast 的流媒体工程师 Ryan Jespersen 为我们介绍使用 WebRTC 和 AV1 的实时交互多媒体流。

低延迟交互市场需求

图:市场需求

肺炎疫情的隔离让人们出现了对于线上交互的需求。从观赛会到虚拟观众,美国足球联盟正在寻找许多能够与观众联系起来的服务,让观众感受到更加真实的远程体验。在过去的几个月中,有大量的投资涌入 WebRTC 以及带有交互元素的技术开展。交互技术有着极大的市场,如体育比赛观赛,电子商务,云游戏,远程开发。值得一提的是,之前的艾美奖就是基于 WebRTC 举办的,其中广播源和产商可以基于 WebRTC 技术栈去完成数字音效以及远程音乐制作。

如何使用 WebRTC 和 AV1 创造低延迟交互服务

要达到交互,首先必须要具备的条件就是实时性,即全球范围不超过半秒钟的端到端实时性。高质量也是必须的,如果只具备低延迟,而交付内容质量无法令人满意也是没有意义的,最终质量希望能够达到广播级,10bit YUV444 HDR 颜色搭配环绕立体声,且用户不会被协议本身所限制内容质量。还有就是网络规模,即可以同时参与广播的用户数量。最后就是安全,一项一直被关注研究的通信专题。

今年的一项新闻是 WebRTC 成为了 IETF 和 W3 标准,意味着每一个支持互联网的设备都必须支持 WebRTC,且许多人已经在使用这浏览器原生的社交工具。另一件事就是我们希望标准化那些编码器,如 AV1。许多媒体平台,如 Netflix 和 Youtube 都已经使用 AV1 进行编码。而我们需要做的就是让他们使用实时应用场景,而许多硬件还尚不支持 AV1 的实时编码。Google Chrome 最近更新的 M19 版本里,在浏览器内部实现了 AV1 的实时编码。他们是第一个支持实时 AV1 的浏览器,意味着你可以开始在软件中使用浏览器原生的视频编码,这对于需要实时交互的平台来说十分重要。

随着 IETF 和 W3 对 WebRTC 的标准化,成千上万的设备,安卓,iphone,智能手表,物联网设备,电脑,甚至无人机,都可以利用 WebRTC 作为协议,进行原生的广播和播放。这就是 WebRTC 能够成为实时流媒体通信的公认标准协议的原因:他是一个可以部署在我们每天都在使用的设备上的实时通信协议。

实现 WebRTC 的部署,需要实现客户端的 SDK,即 libwebrtc 在原生设备上的软件和硬件部署。要做到这一点,就需要让其具备不同的编程语言,不同的硬件成员的适应性。

图:对不同语言和设备的适应性

从客户端 SDK 的 libwebrtc 的架构图中可以看到,C++/ARM64 架构,JavaSDK 等许多 SDK,各种渲染器,可以在安卓和 ios 端搭建浏览器程序。在 PC 端,Linux,mac 和 windows,对于这些设备的本地兼容性,可以使用一个本地桌面程序来实现软件编解码。而这已经在 OBS 这个市场上最流行的开源软编码器上实现了。Ryan 在 OBS 项目中加入了 libwebrtc,使其可以进行 H264 或其他编码,并使用 WebRTC 进行传输。对于可移动设备,具备了 objective C,arm64 架构,用于开发 iOS 应用。对于 Android 设备,也有 JAVA SDK 用于开发应用。

WHIP: WebRTC HTTP Ingestion Protocol

图:WHIP

WebRTC 还没有真正成为广播标准协议的一个原因是,支持 WebRTC 协议的硬件编码器非常少。几乎所有的编码器都支持 RTMP,RTSP,甚至 SRT,所有的这些协议都是基于 TCP 的,也就不以延迟为首要目标。为这些设备加入 WebRTC 和 UDP 技术栈能够让他们用更低的延迟进行推流。这些设备可以在传输层上进行沟通,但是没有办法在信令层上进行交互。WHIP (WebRTC HTTP Ingestion Protocol) 是由 Ryan 的同事 Sergio Garcia Mario 为 IETF 投的标准,来让所有设备在信令层通过 WebRTC 进行通信。WHIP 标准化后,任意两个设备就可以通过一个包含目的地址的 URI 加任意一个验证来进行通信。Millicast 里的多媒体服务器,Janice 开源 WebRTC 服务器以及 Obsi 都使用了 WHIP,但人们仍然需要硬件来获取 SDI 或者 HDMI 来与这些使用 WHIP 协议的 WebRTC 平台通信。

应用场景

实时交付有着很多应用场景,比如之前提到过的远程开发,有非常多的传统内容供应商都在转向 WebRTC,因为他的实时性可以提供更好的架构来生产并传输内容给用户,有些情况下甚至不需要通过卫星和地面网络。Millicast 与 BirdDog 合作,可以在获取到它的 NDI 内容后,利用 WebRTC 来在 500ms 以内将内容发送给全球的任何用户。Amazon Prime 的 Prime Video 和 NBC 在美国职业沙滩排球比赛中使用了这项技术。Millicast 也为今年的超级碗使用了类似的方法,在体育馆内使用 WebRTC 来推流和获取实时相机内容。NASA 在加利福尼亚的 Jet Propulsion Laboratory 也使用了 WebRTC 来为所有的火星漫游者直播。

可交互媒体也为市场带来了极大的变化。其中一个大方向就是观看会。比如一家人可以在世界各地同时看一个电影,并通过相机来实时分享情感,就好像一起在同一间屋子里一样。另一个方向就是视频会议,有着许多主讲人和参会者,同时推流,并在其他参会者端将这些流整合播放。Ryan 认为在明年之前,就会出现基于 WebRTC 的产品替代 zoom 等程序,来为用户创建可交互多媒体会议。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-11-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 媒矿工厂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 开场
  • 低延迟交互市场需求
  • 如何使用 WebRTC 和 AV1 创造低延迟交互服务
  • WHIP: WebRTC HTTP Ingestion Protocol
  • 应用场景
相关产品与服务
云直播
云直播(Cloud Streaming Services,CSS)为您提供极速、稳定、专业的云端直播处理服务,根据业务的不同直播场景需求,云直播提供了标准直播、快直播、云导播台三种服务,分别针对大规模实时观看、超低延时直播、便捷云端导播的场景,配合腾讯云视立方·直播 SDK,为您提供一站式的音视频直播解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档