WebRTC偶尔会出现黑屏

时间:2013-09-16 15:02:52

标签: javascript video webrtc

我正在使用webRTC创建多用户视频聊天。 但是我遇到了RTCPeerConnection的问题

在某些情况下,我与7个用户聊天,每个人都可以看到其他人的视频 但有时我会从用户那里得到黑屏。

奇怪的是它完全是随机的,有时一切都有效。有时用户有黑屏。如果该用户重新登录,则会有其他屏幕变黑或一切都会起作用。

我已经检查过peerconnection如何工作的流程,以及它对我有用的方法:

启动对等连接的用户:

  • kenneth:Peerconnection创建了main.js:275
  • kenneth:远程流的监听器添加了main.js:280
  • kenneth:侦听器远程流已删除添加了main.js:285
  • kenneth:本地流添加到peerconnection main.js:264
  • kenneth:优惠创建了main.js:293
  • kenneth:Offer Sent main.js:315
  • kenneth:回答收到了main.js:205
  • kenneth:听众添加了发送本地ICE候选人main.js:210
  • kenneth:来自answer main.js的远程描述集:215
  • kenneth:远程流添加了main.js:366
  • kenneth:remote ICE收到main.js:218
  • kenneth:远程ICE添加到Peerconnection main.js:225
  • kenneth:remote 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:remote ICE收到main.js:218
  • kenneth:远程ICE添加到Peerconnection main.js:225
  • kenneth:remote 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 received main.js:183
  • kennethtest1:Peerconnection创建了main.js:275
  • kennethtest1:远程流的监听器添加了main.js:280
  • kennethtest1:侦听器远程流已删除添加了main.js:285
  • kennethtest1:听众添加了发送本地ICE候选人main.js:189
  • kennethtest1:来自offer main.js的远程描述集:194
  • kennethtest1:本地流添加到peerconnection main.js:198
  • kennethtest1:答案创建了main.js:301
  • kennethtest1:远程流添加了main.js:366
  • kennethtest1:Answer Sent 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 个答案:

答案 0 :(得分:1)

通过添加多个STUN服务器而不是仅仅依赖一个来修复此问题。我已经看到,偶尔使用一台谷歌STUN服务器请求不会及时返回,这使得webrtc停止搜索通过媒体流发送的路径。

我已经从其他开源供应商添加了STUN服务器