📜  WebRTC 简介

📅  最后修改于: 2021-10-19 05:50:19             🧑  作者: Mango

WebRTC 代表 Web 实时通信。它是一个开源免费项目,用于在 API(应用程序编程接口)的帮助下为移动应用程序和 Web 浏览器提供实时通信。该项目作为一种新标准出现,它通过以对等方式启用浏览器来扩展网络浏览模型。 JavaScript API、HTML5 标签、底层通信协议等由 W3C(万维网联盟)和 IETF(互联网工程任务组)联合定义,以便在未来的 Web 浏览器之间建立一个值得信赖的通信渠道。基本上,主要思想是定义 WebRTC API,该 API 允许安全访问设备上的输入外围设备(例如麦克风和网络摄像头),以便与远程设备以对等方式共享或交换媒体数据、实时数据。 – 对等方式。

例如,视频会议、实时视频聊天、在所有朋友之间分享您最喜欢的时刻是 WebRTC 内部存在的一些示例。你每天使用的所有小工具,如手机、笔记本电脑、智能电视和人工智能等,都连接到互联网。在 WebRTC 的帮助下,所有这些设备都可以在一个通用平台上顺畅、安全地相互共享语音、视频和实时数据。 Webrtc 是实时通信的未来。

为什么是 WebRTC?

WebRTC 的流行有很多原因。其中一些如下:

  • WEBRTC 是一种无插件的现代实时通信技术。它不需要任何额外的插件或应用程序来进行音频、视频流和数据共享。它使用 Javascript、应用程序编程接口 (API) 和 HTML5 将通信技术嵌入到浏览器中。 Google Hangouts、Whatsapp、Facebook Messenger、ZOOM Team Communication、Zendesk 客户支持、Skype for Web 等产品都与 WebRTC 集成。
  • 浏览器能够以对等方式直接与其他浏览器交换实时媒体。
  • 提供比其他各种流媒体系统更高的安全性,无需第三方软件。
  • 它是免费提供的,并在全球范围内运行,这是该技术的主要推动力。

WebRTC 如何在浏览器中工作?

WEBRTC 基本上是通过浏览器进行网络实时通信。它允许浏览器之间的通信。 WEBRTC Web 应用程序被编程为 HTML 和 JavaScript 的混合体。用户还可以使用 CSS 来自定义通信的外观。它通过标准化的 WebRTC API 工作并与 Web 浏览器通信。因此,WebRTC API 必须提供一系列实用程序。其中一些类似于连接管理(以对等方式)、编码/解码能力协商、选择和控制、媒体控制、防火墙等。要了解浏览器中的 WEBRTC 通信,您必须了解不同的组件和架构.

WebRTC 的实现范围非常广泛,因为它是高度可定制的。 WEBRTC 的功能可以分为三个部分

  1. MediaStream :第一步是拥有用户想要共享的数据。在这种情况下,用户想要的流(音频/视频)、要建立的通信模式被捕获。本地媒体流授权浏览器访问流媒体设备,如相机、网络麦克风。它还允许浏览器捕获媒体。用户可以使用getUserMedia()函数从浏览器获取访问权限。
  2. RTCPeerConnection :一旦用户决定了通信流,下一步就是将其与合作伙伴的系统连接。它允许您的浏览器直接与合作伙伴浏览器(对等方)交换数据以进行语音和视频通话。它允许通过STUNTURN服务器在发送方和接收方之间建立关联。
  3. RTCDataChannel :它允许浏览器双向点对点交换数据。 CreateDataChannel()函数在实例化的 PeerConnection 对象上首次被调用。

WebRTC三角形:

  • WEBRTC 为 Web 开发人员包含三个不同的 API。第一层包含 Web 开发人员需要的所有 API,包括 RTCPeerConnection、RTCDataChannel 和媒体流对象及其功能。其次是浏览器制造商的 API。第三个是 Overridable API,浏览器制造商可以挂钩。
  • 如果您从客户端-服务器端查看 WebRTC 架构,那么您会发现最常用的模型之一受到 SIP(会话启动协议)梯形的启发。
  • 想象一下,您和您的朋友正在运行 WEBRTC 应用程序。你想和你的朋友交流。然后使用信令消息,其工作是建立和结束通信。
  • 这些消息通过 HTTP 或 WebSocket 协议传输到 Web 服务器,这些协议可以根据需要修改、转换或管理它们。
  • 至于数据路径,PeerConnection 允许媒体直接在浏览器之间流动,而无需任何干预服务器。这两个 Web 服务器可以使用标准信令协议进行通信,并且在您和您的朋友之间建立了通信。

WebRTC 的局限性:

  • 必须能够访问快速的互联网连接才能与 WEBRTC 进行通信。
  • 它不提供任何离线服务。
  • 并非在所有浏览器中都可用。
  • 没有固定的服务为每个浏览器提供基础。它不断更新,某些软件可能会提供比其他软件更复杂的服务,并且易于访问和使用其他设施。

WebRTC 的未来:在社交媒体的世界中,有超过 50 亿的用户在使用在线交流。您可以在手机或系统上观察一键式视频通话功能,无需安装任何插件和下载。 WebRTC 目前正在提高视频通话质量,以防出现连接不良或互联网访问速度缓慢的情况。很快,WebRTC 将成为提供客户服务的公司的标准。这将是商务沟通的未来。