我正在使用webRTC创建多用户视频聊天 . 但我遇到了RTCPeerConnection的问题
在某些情况下,我与7个用户聊天,每个人都看到其他人的视频,但有时我从用户得到黑屏 .
奇怪的是它完全是随机的,有时一切都有效 . 有时用户有黑屏 . 如果该用户将重新登录,则会有其他屏幕变黑或一切都会起作用 .
我已经检查了peerconnection如何工作的流程,以及它对我的工作原理:
启动对等连接的用户:
-
kenneth:Peerconnection创建了main.js:275
-
kenneth:远程流的监听器添加了main.js:280
-
kenneth:侦听器远程流已删除添加了main.js:285
-
kenneth:本地流添加到peerconnection main.js:264
-
kenneth:Offer创建了main.js:293
-
kenneth:Offer Sent main.js:315
-
kenneth:回答收到main.js:205
-
kenneth:监听员添加了发送本地ICE候选人main.js:210
-
kenneth:从答案main.js设置远程描述:215
-
kenneth:远程流添加了main.js:366
-
kenneth:远程ICE收到main.js:218
-
kenneth:远程ICE添加到Peerconnection main.js:225
-
kenneth:远程ICE收到main.js:218
-
kenneth:远程ICE添加到Peerconnection main.js:225
-
kenneth:ICE候选人发送了main.js:340
-
kenneth:ICE候选人发送了main.js:340
-
kenneth:ICE候选人发送了main.js:340
-
kenneth:ICE候选人发送了main.js:340
-
kenneth:远程ICE收到main.js:218
-
kenneth:远程ICE添加到Peerconnection main.js:225
-
kenneth:远程ICE收到main.js:218
-
kenneth:远程ICE添加到Peerconnection main.js:225
-
kenneth:ICE候选人发送了main.js:340
-
kenneth:ICE候选人发送了main.js:340
-
kenneth:候选人结束main.js:342
收到要约然后创建答案的用户:
-
kennethtest1:offer收到main.js:183
-
kennethtest1:Peerconnection创建了main.js:275
-
kennethtest1:远程流的监听器添加了main.js:280
-
kennethtest1:侦听器远程流已删除添加了main.js:285
-
kennethtest1:监听器添加发送本地ICE候选人main.js:189
-
kennethtest1:来自商品main.js的远程描述集:194
-
kennethtest1:添加到peerconnection main.js的本地流:198
-
kennethtest1:答案创建了main.js:301
-
kennethtest1:远程流添加了main.js:366
-
kennethtest1:回答已发送的main.js:324
-
kennethtest1:ICE候选人发送了main.js:340
-
kennethtest1:ICE候选人发送了main.js:340
-
kennethtest1:ICE候选人发送了main.js:340
-
kennethtest1:ICE候选人发送了main.js:340
-
kennethtest1:远程ICE收到main.js:218
-
kennethtest1:远程ICE添加到Peerconnection main.js:225
-
kennethtest1:远程ICE收到main.js:218
-
kennethtest1:远程ICE添加到Peerconnection main.js:225
-
kennethtest1:远程ICE收到main.js:218
-
kennethtest1:远程ICE添加到Peerconnection main.js:225
-
kennethtest1:远程ICE收到main.js:218
-
kennethtest1:远程ICE添加到Peerconnection main.js:225
-
kennethtest1:候选人结束main.js:342
-
kennethtest1:远程ICE收到main.js:218
-
kennethtest1:远程ICE添加到Peerconnection main.js:225
-
kennethtest1:远程ICE收到的main.js:218
-
kennethtest1:远程ICE添加到Peerconnection main.js:225
我还检查了chrome:// webrtc-internals /我可以看到,对于那个特定的黑屏对等连接,流是在那里,但它没有通过它发送任何数据 .
任何人都知道为什么有时流不会在这里打开?
1 回答
通过添加多个STUN服务器而不是仅仅依赖一个来修复此问题 . 我已经看到,偶尔使用一个谷歌STUN服务器请求不会及时返回,这使得webrtc停止搜索通过媒体流发送的路径 .
我已经从其他开源供应商添加了STUN服务器