一、架构图总览
图1.1 Webrtc 架构图
二、架构分解
2.1 Web API
图2.1 Web API
这一层是面向web开发者封装的JavaScript接口层,是在Webrc native C++接口上进一步的封装。由W3C WG(World Wide Web Consortium Working Group,万维网联盟工作组,这是一个行业联盟,旨在通过制定规范和参考软件来促进Web发展的标准和WWW产品之间的互操作性.)编制,并且于2021年1月26日正式成为W3C推荐标准。
JavaScript API有几个比较核心的接口:
- getUserMedia():用于捕获音频和视频
- RTCPeerConnection():这是Webrtc暴露给用户的统一接口,它表示本地计算机和远程对等方之间的Webrtc连接。它的内部由多个模块组成,如网络处理模块,服务质量模块,音视频引擎模块等等,你可以把它想象成一个超级socket,通过它可以轻松完成端到端的数据传输
- RTCDataChannel():它表示一个网络通道,可以用于任意数据的双向对等传输。每个通道都有一个相关联的RTCPeerConnection().每个对等连接理论上最多可以有65534个数据通道,实际情况可能因浏览器而异。
更多的接口详细信息可以在MDN中查看