WebRTC 是 Web Real-Time Communication 的缩写,是谷歌在 2011 年推出的一种技术,可以实现跨网络和本地浏览器的实时音频、视频和数据传输。
它的使命是为浏览器、移动平台和物联网设备开发构建丰富的、高质量的RTC应用,并允许它们都通过一套通用的协议进行通信。
WebRTC允许应用使用P2P通信。WebRTC是一个广泛的话题,在本文中,我们将重点讨以下问题。
为什么Web RTC 如此受欢迎?
在P2P连接过程中会发生什么
-
信号传递
NATs和ICE
STUN & TURN服务器
VP9视频编解码器
WebRTC APIs
安全
为什么Web RTC 如此受欢迎?
开放源代码 它为浏览器提供了端到端的通信,并且很容易使用。
速度提升 不需要通过服务器进行路由,它减少了延迟和带宽消耗。直接通信提高了数据传输&文件共享的速度。
不需要第三方应用程序 不需要额外的软件、插件或服务器持续参与(仅在初始的时候需要)。可以轻松嵌入到任何网站中,就可以连接互联网上的Peer。
易于实现 使用P2P(点对点)连接更加容易。所有的功能都可以通过客户端完成。开发者只需要下载一个与WebRTC兼容的浏览器。
兼容性 支持大多数流行的浏览器。Microsoft Edge、Google Chrome、Mozilla Firefox、Safari、Safari、Opera、Vivaldi。支持Android、Chrome OS、Firefox OS、黑莓10、iOS、Tizen。
提供跨多种浏览器的安全连接 所有的WebRTC组件都必须进行加密。由于它不是一个插件,所以它运行在浏览器的沙盒内,不需要创建一个新的进程,这样就不会有任何恶意软件进入用户操作系统。无需跟踪更新。它会随着浏览器版本的自动更新。
在P2P连接期间会发生什么?
要连接两个浏览器,Web RTC需要执行五个步骤来建立P2P连接。
信号处理,以去除音频或视频中的环境噪声。
编解码器处理,以压缩和解压音频或视频。
通过防火墙、(NAT)和中继器建立从一个Peer 到另一个Peer的路由,以创建一个ICE(交互式链接建立)。
用户数据在进行连接传输前都会进行加密。
管理带宽&