webRTC采坑

109 阅读1分钟

现在很多岗位都需要有WebRTC,进行音视频的开发,所以最近在看WebRTC资料,B站有很多讲课都已经落后了,很多API都废弃了,而且还遇到的很多坑,所以做一下记录和进行深入的理解

优势:

 1.不需要插件,支持跨平台兼容

2.基于UDP协议和RTP/RTCP技术,低延迟和实时性高

3.采用了SRTP加密传输和TLS身份验证,防止了窃听和篡改

4.支持P2P直连,降低服务器压力

缺点:

1.弱网环境容易丢包

2.兼容性不太好

3.多人场景扩展性不足

理解:

1.客户端(A)向信令服务器发送指令连接其他客户端(B)

2.B如果接收,信令服务器向A通知,

3.A获取本地媒体流,通过实例RTCPeerConnection,创建offer且发送到B建立点对点的连接(setLocalDescription)

4.B接收到A的媒体流,通过实例RTCPeerConnection,B获取本地媒体流,创建answer且发送到B建立点对点的连接(setLocalDescription)

5.实例后的RTCPeerConnection有onicecandidate和ontrack(addStrem已经废弃)

6.监听的onicecandidate监听到数据后,进行相对应处理candidate,且通过addIceCandidate进行连接,

7.关闭连接直接将实例的RTCPeerConnection给close

gitee.com/yj_dyy/web-…

坑:

1.因为是流,所以需要让数据缓存完整才能播放

2.由于浏览器限制不能自动播放,所以需要加载完成才能播放视频