webrtc概念是什么?未来 WebRTC 又将如何发展?

目录
文章目录隐藏
  1. 前言背景
  2. 数据汇报
  3. 本文目标
  4. WebRTC 发展历程
  5. WebRTC 涉足领域
  6. WebRTC 概念定义
  7. WebRTC 实现
  8. WebRTC 解决的问题
  9. WebRTC 实践案例
  10. 未来计划

webrtc 概念是什么?未来 WebRTC 又将如何发展?

近几年实时音视频通信应用呈现出了大爆发的趋势。在这些实时通信技术的背后,有一项不得不提的技术 ——WebRTC。

前言背景

2021 年 1 月 26 日,W3C(万维网联盟)和 IETF(互联网工程任务组)同时宣布 WebRTC(Web Real-Time Communications,Web 实时通信)现发布为正式标准,将音视频通信带到 Web 上任何地方。这代表着我们未来不会在依赖某些软件或者介质去访问和处理音视频了,映衬着 5G 的时代,这将会是如虎添翼。

  • WebRTC 成为 W3C 为应用程序开发定义开放 Web 平台的众多标准之一,具有前所未有的潜力。
  • 其让开发人员能够构建丰富的交互体验,由巨大的数据存储提供动力,可用于任何设备以及环境。

数据汇报

据调研机构 GrandViewReseach 的报告显示,预计 2025 年全球 WebRTC 市场规模将达到 210.23 亿美元,相较 2019 年 23 亿美元的市场规模,5 年的复合年增长率为 43.6%。

本文目标

本系列内容将和大家一起来探讨和介绍的目的是:

  1. WebRTC 的概念是什么?WebRTC 的发展历程和涉足领域有哪些?
  2. WebRTC 的目标和愿景?
  3. 为什么 WebRTC 受到开发者及企业的青睐?
  4. 未来 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 实现

WebRTC 由 Web 实时通信的 JavaScript API 和 一组通信协议 构成,支持网络上的任何已连接设备成为 Web 上潜在的通信端点。成为线上通信及协作服务的基石。

  • 不难看出这项技术最开始的目标是希望为实现自由地在浏览器上进行实时音视频传输做准备的。
  • 多数时候,对于开发者而言 WebRTC 是一套支持网页浏览器进行实时音视频对话的 W3C Javascript API,它包括了音视频的采集、编解码、网络传输、显示等功能。
  • 几乎所有主流浏览器都支持 WebRTC 标准 API,因此也让浏览器之间无插件化的音视频互通成为可能,大大降低了音视频开发的门槛,开发者只需要调用 WebRTC API 即可快速构建出音视频应用。

至此,WebRTC 的使用已经超越了最初的核心设计,即在浏览器和其他生态(例如本地应用)中支持视频会议和协作系统。现在需要更多的特性和优化。

WebRTC 解决的问题

在没有 WebRTC 前,对于开发者而言 RTC 通信的难点主要来自于互联网网络复杂、延时敏感、实时音视频流畅度及清晰度较低以及运营成本较高等。

WebRTC 的使命是使丰富、高质量的 RTC 应用程序能够为浏览器、移动平台和 IoT 设备开发,并允许所有人通过一组通用协议进行通信。

  • 但这些问题在 WebRTC 出现后都得到了较好的解决:
    1. 屏蔽了网络模型的差异性
      • 不同的 NAT、防火墙对媒体 P2P 的建立带来了很大的挑战。而 WebRTC 的出现为浏览器提供了端到端的直接通信,使开发者可以轻松地实现这种连接。同时,WebRTC 里面有 P2P 打洞的开源项目 libjingle ,支持 STUN,TURN 等协议。
    2. 提高传输效率以及降低损耗
      • 在早期的 RTC 技术中,TCP(Transmission Control Protocol-传输控制协议)由于自身机制的缺陷,只能使用 UDP 传输,但这需要开发人员解决重传、乱序等问题。而 WebRTC 则提供了 NACK,FEC 技术,不再需要通过服务器进行路由,减少了延迟和带宽消耗。直接通信可提高数据传输和文件共享的速度。
    3. 提高流畅性(优化算法)
      • 互联网网络不稳定,特别一些小运营商,在流量使用高峰期往往无法保证足够的带宽。需要一套自适应的算法来应对网络拥塞、平滑发送等问题。WebRTC 中提供了 TCC + SVC + PACER + JitterBuffer 技术支持
    4. 语音清晰度优化
      • 由于终端设备和环境复杂,会有噪声、回声的干扰,这时候 WebRTC 提供了 3A 算法 + NetEQ,让实时环境中的声音处理及互动体验得到了大幅的提升。
    5. 提高移植性(以及标准化)
      • 对于开发人员或企业而言,使用 WebRTC 的过程中只需要下载兼容 WebRTC 的浏览器并使用,不需要额外的软件、插件或持续的服务器的参与就可以将音视频应用轻松嵌入到任何网站中,并通过 Internet 进行连接,大大节省了开发时间和成本。
      • 目前主流的浏览器如 Microsoft Edge、Google Chrome、Mozilla Firefox、Safari、Safari、Opera、Vivaldi 等都已支持 WebRTC。
    6. 安全性加密机制
      • WebRTC 作为一项开源技术,可在任何 Web 浏览器上免费使用,并且不受插件限制。在安全方面,WebRTC 同样做了优化设计:所有 WebRTC 媒体数据都必须经过加密。

由于 WebRTC 并非是一个插件,也不用安装别的插件,因此所有应用都可以在浏览器的沙箱中运行,并不用再额外创建新进程。

  • 也正因为如此, WebRTC 有效地阻止了恶意软件进入用户系统。
  • 在任何实时通信应用程序中,数据传输的过程都有可能会增加安全风险,因此加密是 WebRTC 的强制性功能,并在所有媒体数据上强制执行。
  • WebRTC 使用两种标准化的加密协议:
    • 数据报传输层安全性(DTLS)
      1. 浏览器内置标准化协议。基于传输层协议(TLP)的数据流加密;
      2. 由于 DTLS 使用用户数据协议(UDP),因此保留了传输的语义;
      3. 它是安全套接字层(SSL)的扩展,任何 SSL 协议均可用于保护 WebRTC 数据,从而允许端到端加密
    • 安全实时传输协议(SRTP)
      • 用于媒体流加密;
        1. 它是对实时传输协议(RTP)的扩展,该协议没有任何内置的安全性机制;
        2. 实时传输协议(RTP)提供加密、完整性保证和消息身份验证。
        3. SRTP 协议也有它的一些缺点,比如虽然它为 RTP 数据包提供加密,但不对标头进行加密。

WebRTC 实践案例

  • 由于 WebRTC 的传输是基于公共互联网,而公共互联网并不是为了实时通信而设计的,因此在网络协议、跨区域带宽、跨运营商、用户设备、网络架构、文档支持等方面都会对 WebRTC 的开发有牵制,从而会导致实时音视频等传输质量没办法得到有效的保证。
  • 因此,可以说如果 WebRTC 直接拿过来商用的话,几乎是不太可能的,当下普遍的解决方案是自研,根据自身的业务场景进行二次定制开发,或者更简单一点使用第三方 SDK。

W3C WebRTC 工作组已经开始研究 WebRTC Next Version Use Cases,规划 WebRTC 的未来,特别是:

  • 在服务器介导的视频会议中的端到端加密
  • 即时处理音视频材料,包括通过机器学习
  • 物联网(例如 IoT 传感器维持长期连接并寻求最小功耗)
  • WebRTC 工作组正对现有及新的用例进行迭代,重点理解全部需求及其优先级。

未来计划

  • W3C 近期开始的 WebTransport 和 Web Codecs 工作预计将低延迟流媒体的优势引入更广大的媒体和娱乐生态系统。
  • IETF WebTransport(WEBTRANS)和 WebRTC Ingest Signaling over HTTPS(WISH)工作组已经在开展工作,在 IETF 其他工作组的基础上进一步协调、拓展相关工作。
  • QUIC(定义支持 WebTransport API 开发的新协议)和 HTTPBIS(指定简单、可扩展的、基于 HTTPS 的信令协议),以在广播工具和实时媒体广播网之间建立基于 WebRTC 的单向视听会话。

「点点赞赏,手留余香」

0

给作者打赏,鼓励TA抓紧创作!

微信微信 支付宝支付宝

还没有人赞赏,快来当第一个赞赏的人吧!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
码云笔记 » webrtc概念是什么?未来 WebRTC 又将如何发展?

发表回复