近几年实时音视频通信应用呈现出了大爆发的趋势。在这些实时通信技术的背后,有一项不得不提的技术 ——WebRTC。 ![]()
前言背景
2021年1月26日,W3C(万维网联盟) 和 IETF (互联网工程任务组) 同时宣布 WebRTC(Web Real-Time Communications,Web 实时通信) 现发布为正式标准,将音视频通信带到Web上任何地方。 这代表着我们未来不会在依赖某些软件或者介质去访问和处理音视频了,映衬着5G的时代,这将会是如虎添翼。
数据汇报
据调研机构GrandViewReseach 的报告显示,预计2025年全球 WebRTC 市场规模将达到 210.23 亿美元,相较 2019 年 23 亿美元的市场规模,5 年的复合年增长率为 43.6%。
本文目标
本系列内容将和大家一起来探讨和介绍的目的是:
-
WebRTC的概念是什么?WebRTC的发展历程和涉足领域有哪些?
-
WebRTC的目标和愿景?
-
为什么WebRTC受到开发者及企业的青睐 ?
-
未来 WebRTC 又将如何发展?
以及声网 Agora是怎样基于 WebRTC 进行二次开发,又将如何支持 WebRTC NV 版本的?
WebRTC发展历程
-
2010年,实时通信只能使用专有软件、插件或Adobe Flash 进行实时通信;
-
2013 年,Chrome和Firefox之间进行了首次跨浏览器视频通话;
-
2014 年,第一次跨浏览器数据传输得以实现,通过客户端进行实时通信打开了一个新兴的趋势。
-
2021年,WebRTC的诞生,我们每天都在 Chrome,Mozilla Firefox,Opera,Safari,Edge,iOS 和 Android 的实时互动场景中使用它。
WebRTC涉足领域
在线会议、在线教育、在线面试、在线社交、在线医疗、金融证券在线开户、智能家居等等已经成为了现代人们生活中非常熟悉的一部分,将常见的线下场景转至线上,人们足不出户便能体验上述场景。这些实时互动场景在很大程度上已经改变了我们原本的生活方式。
WebRTC概念定义
WebRTC是一个由 Google、Mozilla、Opera 等发起的开源项目,名称源自「网页即时通信」(Web Real-Time Communication)的缩写。
此外,“WebRTC 在不同场景下包含不同的含义,它既可以代表 Google 开源的 WebRTC 项目,又可以代表 W3C(World Wide Web Consortium-万维网联盟) 工作组制定的 WebRTC 标准,也可以代表浏览器中的 WebRTC 接口,我们将他们统称为 WebRTC技术。”
WebRTC实现
![]()
WebRTC由Web实时通信的JavaScript API 和 一组通信协议 构成,支持网络上的任何已连接设备成为Web上潜在的通信端点。成为线上通信及协作服务的基石。
-
不难看出这项技术最开始的目标是希望为实现自由地在浏览器上进行实时音视频传输做准备的。
-
多数时候,对于开发者而言WebRTC是一套支持网页浏览器进行实时音视频对话的 W3C Javascript API,它包括了音视频的采集、编解码、网络传输、显示等功能。
-
几乎所有主流浏览器都支持 WebRTC 标准 API ,因此也让浏览器之间无插件化的音视频互通成为可能, 大大降低了音视频开发的门槛,开发者只需要调用 WebRTC API 即可快速构建出音视频应用。
至此,WebRTC的使用已经超越了最初的核心设计,即在浏览器和其他生态(例如本地应用)中支持视频会议和协作系统。现在需要更多的特性和优化。
WebRTC解决的问题
在没有WebRTC前,对于开发者而言RTC通信的难点主要来自于互联网网络复杂、延时敏感、实时音视频流畅度及清晰度较低以及运营成本较高等。
WebRTC的使命是使丰富、高质量的RTC应用程序能够为浏览器、移动平台和 IoT设备开发,并允许所有人通过一组通用协议进行通信。
由于WebRTC并非是一个插件,也不用安装别的插件,因此所有应用都可以在浏览器的沙箱中运行,并不用再额外创建新进程。
WebRTC实践案例
-
由于WebRTC的传输是基于公共互联网,而公共互联网并不是为了实时通信而设计的,因此在网络协议、跨区域带宽、跨运营商、用户设备、网络架构、文档支持等方面都会对WebRTC的开发有牵制,从而会导致实时音视频等传输质量没办法得到有效的保证。
-
因此,可以说如果 WebRTC 直接拿过来商用的话,几乎是不太可能的,当下普遍的解决方案是自研,根据自身的业务场景进行二次定制开发,或者更简单一点使用第三方 SDK。
W3C WebRTC工作组已经开始研究 WebRTC Next Version Use Cases,规划 WebRTC 的未来,特别是:
未来计划
-
W3C近期开始的 WebTransport 和 Web Codecs 工作预计将低延迟流媒体的优势引入更广大的媒体和娱乐生态系统。
-
IETF WebTransport (WEBTRANS)和WebRTC Ingest Signaling over HTTPS (WISH) 工作组已经在开展工作,在 IETF 其他工作组的基础上进一步协调、拓展相关工作。
-
QUIC(定义支持 WebTransport API 开发的新协议)和 HTTPBIS(指定简单、可扩展的、基于 HTTPS 的信令协议),以在广播工具和实时媒体广播网之间建立基于WebRTC 的单向视听会话。