首页 文章

WebRTC偶尔会出现黑屏

提问于
浏览
8

我正在使用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 回答

  • 1

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

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

相关问题