Javascript Chrome和Firefox之间的WebRTC重新协商
我能够在Firefox和Chrome之间建立WebRTC连接,但Firefox和Chrome之间的重新协商无法正常工作 Chrome对和Firefox对之间的重新协商没有问题 使用Firefox Chrome pair,当我在删除或添加曲目后从Chrome启动重新协商时,重新协商成功,并且在Firefox上正确触发Javascript Chrome和Firefox之间的WebRTC重新协商,javascript,google-chrome,firefox,webrtc,Javascript,Google Chrome,Firefox,Webrtc,我能够在Firefox和Chrome之间建立WebRTC连接,但Firefox和Chrome之间的重新协商无法正常工作 Chrome对和Firefox对之间的重新协商没有问题 使用Firefox Chrome pair,当我在删除或添加曲目后从Chrome启动重新协商时,重新协商成功,并且在Firefox上正确触发onremovestream或onaddstream回调 但是当我在使用pc.removeTrack或pc.addTrack删除或添加曲目后从Firefox开始重新协商时,重新协商成功
onremovestream
或onaddstream
回调
但是当我在使用pc.removeTrack
或pc.addTrack
删除或添加曲目后从Firefox开始重新协商时,重新协商成功,没有任何错误。但在Chromeonremovestream
或onaddstream
中,不会触发回调。当我使用pc.getRemoteStreams
获取MediaStream时,我可以看到曲目的ID在重新协商后发生了更改,但当我尝试播放它时,MediaStream无法工作
我注意到一件奇怪的事,Firefox的实际本地曲目id与Chrome中的远程曲目id不匹配(甚至在重新协商之前)
Chrome和Firefox是否支持跨浏览器重新协商(主要是从Firefox到Chrome)
有人在firefox和Chrome之间达成了重新谈判吗
这个问题有解决办法吗 这不是一个完整的解决方案,但正是原因所在。如果您找到了解决方案,我建议您发布一个解决方案 对于WebRTC中的多个流,有两个计划UnifiedPlan和PlanB。PlanB被取消,统一规划正在成为标准。Firefox实现了UnifiedPlan,但chrome仍有PlanB实现。关于这一点,有一个很好的解释 为此编写了一个polyfill。但是这个polyfill有一个限制,它只支持从Chrome到Firefox的重新协商
如果我在chrome修复问题之前找到了解决方法,我会更新答案。您可能希望将更新作为答案发布,即使不幸的是,它无法解决问题。但这不是一个解决方案。这就是问题的原因。我期待着解决这个问题。这很公平,但我担心在Chrome也更新到UnifiedPlanYeah之前你不会得到它。这是真的。我只是希望有人能找到sdp interop polyfill的完整解决方案。你是对的。我会将更新作为答案发布。虽然你不会被迫接受它,这样,你的问题仍然会进入“需要答案”流,但你也可以让问题更清楚,而不是在问题是什么之后,这已经值得IMM投票。