kurento-utils,多个WebRtcPeer在一个客户端

我有一个应用程序,将我的桌面和networking摄像头共享到我的Kurento服务器(同一pipe道中的两个不同端点),同时启动两个录制端点,然后提醒客户端他们都准备好消耗。

我的问题是在我的客户端有两个WebRtcPeerRecvonly节点,如果在另一个请求耗尽之前没有完成,我要么获得同一个桌面端点的video,要么获得同一个Webcam端点的两个video。

摄像头同行

initWebcamUser(id){ let options = { onicecandidate: (candidate) => { socket.emit('onWebcamIceCandidate',{ candidate : candidate, socket_id : id, }); } }; webRtcWebcamPeer = new kurentoUtils.WebRtcPeer.WebRtcPeerRecvonly(options, function(error) { this.generateOffer((error, offerSdp) => { socket.emit('viewerWebcam',{ sdpOffer : offerSdp, socket_id : id }); }); }); } 

和我的桌面同行。

  initDesktop(socket_id){ let options = { onicecandidate: (candidate) => { socket.emit('onDesktopIceCandidate',{ candidate : candidate, socket_id : socket_id, }); } } webRtcDesktopPeer = new kurentoUtils.WebRtcPeer.WebRtcPeerRecvonly(options, function(error) { this.generateOffer((error, offerSdp) => { socket.emit('viewerDesktop',{ sdpOffer : offerSdp, socket_id : socket_id }); }); }); } 

我得出的结论是,他们都共享相同的kurentoUtils.WebRtcPeer,如果我调用initWebcamUser之前调用initDesktop 2秒的延迟我得到正确的stream100%的时间。

我想这可以归结为这样做的问题吗? 还是应该在WebcamPeer完成的时候build立一个基于承诺的系统,如果是的话,我会在什么地方joiniceCandidates?

编辑:我觉得重要的是要注意,我分配给这些对端分别在我的webcamViewerResponse / desktopViewerResponse各自的“参与者”,所以他们不会从这些温度webRtcWebcamPeer / webRtcDesktopPeervariables引用,当我有这个问题。

提前致谢。