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连接。
- 信号处理,以去除音频或视频中的环境噪声。
- 编解码器处理,以压缩和解压音频