webrtc ice流程

ICE FUll

第一步:
WebRTC客户端先去连接ICE Server,也就是STUN Server(地址转换)或者TURN Server(中转)。

STUN Server返回客户端三种地址,
第二步:
WebRTC客户端创建RTCPeerConnection并且设置好ICEServer地址和本地Audio Track、Video Track后,自动向ICE服务器发出测试然后得到ICE candidate.
第三步:
客户端把得到的candidate使用自己的信令服务器发送给另一个要通讯的客户端,对方收到candidate后加入到RTCPeerConnection中。
第四步:
请求客户端使用RTCPeerConnection发出offer请求,得到自己的sdp,然后通过信令服务器发给被请求客户端
第五步:
被请求客户端收到offer以后调用RTCPeerConnection.setRemoteDescription加入remote sdp,然后调用RTCPeerConnection.answerForConstraints和setLocalDescription得到自己的sdp并且后台跟ice服务器通讯异步获得自己的candidate,再将自己的sdp和candidate分别通过信令发回给请求客户端,请求客户端收到sdp后也调用RTCPeerConnection.setRemoteDescription加入remote sdp,收到candidate也加入RTCPeerConnection。
第六步:
链路建立完成.

ICE LITE

是ice规范的一个最小版本,用于在公共IP地址上运行的服务器。
媒体体服务器仅响应传入的STUN绑定请求,并在ice进程本身中充当受控实体。这种简单性使得它在sfu和其他媒体服务器的实现中非常流行。

posted on 2020-09-10 18:10  WillingCPP  阅读(1952)  评论(0编辑  收藏  举报

导航