无服务器的webrtc点对点连接
·
参考这个项目
局域网可以点对点直连。
局域网外可以修改其中的index.html,可以修改为如下配置:
# pc = new RTCPeerConnection({ sdpSemantics: 'unified-plan'});
pc = new RTCPeerConnection({
sdpSemantics: 'unified-plan',
iceTransportPolicy: 'relay',
iceServers: [
{'urls': 'stun:stun.l.google.com:19302'},
{'urls':'stun:stun1.l.google.com:19302'},
{'urls':'stun:stun2.l.google.com:19302'},
{'urls':'stun:stun3.l.google.com:19302'},
{'urls':'stun:stun4.l.google.com:19302'},
{'urls':'stun:stunserver.org'},
{'urls':'stun:stun.xten.com'},
{'urls':['turn:numb.viagenie.ca'],'username':'webrtc@live.com','credential':'muazkh'}
]
});
PS0: 上述配置我这边能成功打洞,但是很慢,视频传输也很慢,大概要等个十来秒,我理解耗时应该是在gatheringCandidate的步骤中。
PS1: turn server 可以用这个测试是否符合要求
https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/
PS2: (turn server对带宽要求很高/成本很高) 要保证通讯质量的话,可以自己搭建turn/stun服务器。可以参考这个项目
更多推荐



所有评论(0)