【发布时间】:2015-07-10 22:44:15
【问题描述】:
我正在考虑将我的应用程序从使用单个 PeerConnection 双向传输媒体更改为一个 PeerConnection 用于上游,一个用于下游,用于两个对等方之间的单个调用。
我预见的优势:
- 将提供媒体从
video+audio更改为audio时,无需担心 PeerConnection 的信号状态,反之亦然 - 可能更容易将像
kurento这样的媒体服务器插入应用程序(在多用户调用的情况下,用户需要的上传带宽更少)。 - (不确定这一点)单一职责原则,每个PeerConnection都有单一角色。
我要进行此更改的主要原因是,我注意到如果 peer(peer1) 仅提供 audio 而其他 peer(peer2) 回答同时使用 video+audio,则 peer1 出于某种原因仅收到音频,但如果 peer1 是应答者,它可以毫无问题地接收两个 MediaTrack。不确定这是否是我的应用程序或浏览器中的错误(在 firefox 和 chrome 中得到相同的结果)。我能够通过维护状态,根据状态和内容更改提供者来解决问题,但是在两个对等方(几乎)同时更改状态时遇到问题。认为上述建议会是更简单的解决方案,我可以摆脱维护状态。
除了更多 ICE 候选请求的额外开销(n STUN n TURN)、维护额外的 PeerConnections 等明显的缺点之外,此设计后可能还有其他问题吗?
【问题讨论】:
标签: webrtc