gpt4 book ai didi

javascript - WebRTC偶尔会黑屏

转载 作者:数据小太阳 更新时间:2023-10-29 04:20:42 32 4
gpt4 key购买 nike

我正在使用 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:报价已发送 main.js:315
  • kenneth: answer received 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 received main.js:183
  • kennethtest1: Peerconnection created 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:答案已发送 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/我在哪里可以看到对于那个特定的黑屏对等连接,流在那里但它没有通过它发送任何数据。

有人知道为什么有时流无法在此处打开吗?

最佳答案

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

我添加了来自其他开源 vendor 的 STUN 服务器

关于javascript - WebRTC偶尔会黑屏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18831258/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com