WebRTC自身并不提供ICE Servwr(NAT穿透服务器)(ICE服务器:STUN服务器 / TURN服务器),ICE服务器需要自己实现。
Signaling Server(信令服务器),需自己实现,它是在客户端A和客户端B之前传递彼此的SDP信息和candidate信息。ClientA和ClientB通过这些信息建立P2P连接来传送音视频数据。由于网络环境的复杂性,并不是所有的客户端之间都能够建立P2P连接,这种情况下就需要有个relay服务器做音视频数据的中转。
说明:STUN服务器 、TURN服务器、relay服务器的实现在WebRTC源码中都有示例
接下来将从使用层面描述WebRTC建立连接的流程,至于深层次的内容,将持续更新
场景:ClientA向ClientB发起视讯请求
- 【ClientA创建PeerConnection对象】→【ClientA打开本地音视频设备】→【ClientA将音视频数据封装成MediaStream添加到PeerConnecti