官网 https://webrtc.org/#

Web实时通信(WebRTC)是标准,协议和JavaScript API的集合,它们的组合可实现浏览器(对等体)之间的对等音频,视频和数据共享。WebRTC不再依赖第三方插件或专有软件,而是将实时通信转变为任何Web应用程序都可以通过简单的JavaScript API利用的标准功能。

提供丰富,高质量的RTC应用,如音频和视频电话会议以及点对点数据交换,需要在浏览器中提供许多新功能:音频和视频处理功能,新的应用API以及对六个新功能的支持网络协议。值得庆幸的是,浏览器在三个主要API背后提取了大部分复杂性:

MediaStream:获取音频和视频流
RTCPeerConnection:音频和视频数据的通信
RTCDataChannel:任意应用数据的通信

所需要的只是十几行JavaScript代码,任何Web应用程序都可以通过点对点数据传输实现丰富的电话会议体验。这就是WebRTC的承诺和力量!然而,列出的API也只是冰山一角:信令,对等发现,连接协商,安全性以及整个新协议层只是将它们组合在一起所需的几个组件。

毫不奇怪,为WebRTC提供支持的体系结构和协议也决定了它的性能特征:连接设置延迟,协议开销和交付语义,仅举几例。实际上,与所有其他浏览器通信不同,WebRTC通过UDP传输其数据。但是,UDP也只是一个起点。它需要比原始UDP更多的东西才能使浏览器中的实时通信成为现实。让我们仔细看看。

WebRTC已经为1B +用户启用:最新的Chrome和Firefox浏览器为所有用户提供WebRTC支持!话虽如此,WebRTC也在积极构建,包括浏览器API级别以及传输和协议级别。因此,以下章节中讨论的特定API和协议将来可能仍会发生变化。

本文档由黎明互联官方发布