【问题标题】:WebRTC with multiple Peer Connections - Stream between existing peer connections stop when a new connection is created具有多个对等连接的 WebRTC - 现有对等连接之间的流在创建新连接时停止
【发布时间】:2021-04-29 11:37:21
【问题描述】:

我正在为多个用户创建一个视频聊天应用程序。主持人发起呼叫,当第二个参与者加入时,在主持人和第二个参与者之间创建对等连接。

当第三个人加入时,在 1 & 3 和 2 & 3 之间创建 Peer 连接 (每个客户端有 n-1 个对等连接)。新连接按预期工作,但 1 和 2 之间的媒体流中断。

在对等连接创建后,我正在为每个对等连接使用索引注册适当的事件侦听器 -

  peerConnection.onicecandidate = (event) => handleIceCanditate(pcIndex, event);
  peerConnection.ontrack = (event) => handleTrack(pcIndex, event);
  peerConnection.onnegotiationneeded = (event) => handleNegotiationNeeded(pcIndex, event);
  peerConnection.oniceconnectionstatechange = (event) => handleICEConnectionStateChange(pcIndex, event);
  peerConnection.onicegatheringstatechange = (event) => handleICEGatheringStateChange(pcIndex, event);
  peerConnection.onsignalingstatechange = (event) => handleSignalingStateChange(pcIndex, event); 

索引为 0 的旧对等连接的任何事件都不会在停止工作之前被触发。有关如何调试问题的任何线索。 老Peer Connection的连接状态是connected

【问题讨论】:

    标签: webrtc rtcpeerconnection peer-connection


    【解决方案1】:

    这已解决。webRtc 实现按预期工作,问题出在 React 前端层。

    我正在使用映射远程用户的 React 状态来创建视频组件,以显示参与者的实时提要。因为在 useEffects 上调用该函数来创建该列表,所以所有元素都被重新渲染。

    【讨论】:

      猜你喜欢
      • 2017-08-25
      • 1970-01-01
      • 1970-01-01
      • 2013-08-07
      • 1970-01-01
      • 1970-01-01
      • 2018-06-27
      • 2015-09-18
      • 2021-07-06
      相关资源
      最近更新 更多