【问题标题】:No WebRTC video signal from Firefox to Chrome, but all other combinations work没有从 Firefox 到 Chrome 的 WebRTC 视频信号,但所有其他组合都有效
【发布时间】:2016-04-04 14:15:57
【问题描述】:

我有一个使用 adapter.js 实现 WebRTC 的网络应用程序,并且大多数情况下都有效。 Firefox 到 Firefox 和 Chrome 到 Chrome 工作正常,但是:

当 Chrome 和 Firefox 连接时,来自 Firefox 端的视频不会显示在 Chrome 端。 音频确实有效!,所以 webrtc 频道很好。

  • 计算机在同一个网络中
  • (我确实有 STUN/TURN 能力,但我认为这无关紧要)
  • 哪个发起呼叫并不重要
  • 总是 Chrome 看不到 Firefox,Firefox 总是看到 Chrome
  • 没有错误,没有警告,所有预期的回调都会触发,握手似乎已经完成
  • Alice 在onicecandidate 的“末尾”向 Bob 发送她的 ice 候选人。 Bob 也这样做,但时机可能比我在这里意识到的更重要。
  • 两个视频元素均已创建,带有 blob src(使用 srcObject),onloadedmetadata 在两个浏览器上触发
  • 在每台计算机上发生(在 5 台计算机上尝试了 ~ 20 种组合)

其他事情偶尔会失败,例如 ICE 协商(即使它始终是同一个网络),createOffersetRemoteDescription 有时会失败。

我能找到的所有这样的问题都是 2-3 年前的,但在那之后 Firefox 和 Chrome 似乎是 RTC 的好伙伴。我的视频怎么了?

相关,但不是解决方案:

【问题讨论】:

  • 当您的意思是“当 Chrome 和 Firefox 连接时,来自 Firefox 端的视频不会显示在 Chrome 端。” onaddstream 没有被触发?
  • @AnandS 不,两个流都存在,并且onloadedmetadata 甚至会为代表流的视频触发。它只是黑色/空...

标签: google-chrome firefox webrtc


【解决方案1】:

这可能是关于事物在 API 中同步发生或不同步发生的假设的问题。 API 是高度异步的,同步或不同步发生的情况在浏览器之间(或同一浏览器的不同版本之间)有所不同。您可能需要仔细比较您的代码与使用 adapter.js 的其他示例。

如果没有代码或相关的 sn-ps,很难确切地说出哪里出了问题,但需要检查的重要事项是:webrtc(对于 Firefox,包括底部的连接日志)、chrome webrtc 内部页面和内部记录。还可以添加您自己的记录,记录发生和未发生的回调/承诺。我建议在 Firefox 中设置环境变量 NSPR_LOG_MODULES=signaling:4,mtransport:4 和 NSPR_LOG_FILE=whatever。您还可以(尤其是使用这些日志或一些示例代码)在 irc.mozilla.org 上的#media 中 ping Firefox 开发人员。

【讨论】:

  • 我认为顺序和同步性很好,因为整个事情在 Ch-Ch 和 Ff-Ff 中都可以工作,但在某个地方可能有一个小错误......我真的不能补充sn-ps,因为整个事情都很大,包括 PubNub 的存在。对我来说可能是错的:当本地列表被评估时(onicecandidate 的结尾),Alice 向 Bob 发送了 ice 候选者。其他示例有时会有所不同。另外,这可能是 Chrome 的错,我不知道。
猜你喜欢
  • 2020-12-16
  • 1970-01-01
  • 2018-02-28
  • 1970-01-01
  • 1970-01-01
  • 2021-12-16
  • 1970-01-01
  • 2016-03-19
  • 2018-10-27
相关资源
最近更新 更多