首页 > 代码库 > webrtc系列专题之trickle ice

webrtc系列专题之trickle ice

本文原创自 http://blog.csdn.net/voipmaker  转载注明出处。

WebRTC p2p 部分采用ICE框架,ICE框架包括stun,turn,实际使用webrtc开发音视频应用时遇到的一个问题是呼叫建立很慢,原因是ice过程耗费过多时间,客户端在发起呼叫时先与stun服务器通信获取 server reflexive 地址和relay 地址,加上local host地址和端口 构造三类ice candidate ,把这三类candidate 放到sdp 属性 (a=) ,完成这个动作后才实际发起sdp offer请求,接收者采用同样的过程,两边都完整收完对方的sdp后才开始p2p探测, 这中间时间浪费在所有candidate都获取后才发送,所以为了加速通话建立时间,把连通性检测的时间提前,方案叫trickle ice, 其思想是客户端一边收集candidate一边发送给对方,比如local candidate 不需要通过stun获取直接就可以发起,这降低了了连通性检测完成的时间,为了提高呼叫接通速度,webrtc 也引入了不同类型媒体(音频,视频)的多路复用功能,即共用一个udp端口,在sdp里面体现为 a=group:BUNDLE audio video

表明客户端支持audio和video rtp的多路复用。

webrtc系列专题之trickle ice