【问题标题】:kurento-utils, multiple WebRtcPeer's in one clientkurento-utils,一个客户端中的多个 WebRtcPeer
【发布时间】:2018-01-11 20:08:04
【问题描述】:

我有一个应用程序,我在其中将我的桌面和网络摄像头共享到我的 Kurento 服务器(同一管道中的两个不同端点),为两者启动一个记录端点,然后另一方面提醒客户端它们'都可以食用了。

我的问题是我的客户端上有两个 WebRtcPeerRecvonly 对等点,如果一个在另一个请求消费之前没有完成,我要么获取同一桌面端点的视频,要么获取同一网络摄像头端点的两个视频。

网络摄像头对等

 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 秒的延迟一样,我 100% 的时间都得到了正确的流。

我想这归结为一个问题,是否可以同时执行此操作?或者我应该在 WebcamPeer 何时完成时建立一个基于承诺的系统,如果是这样,当添加 iceCandidates 时,我应该将它放在这个过程中的什么位置?

编辑:我觉得重要的是要注意我在我的 webcamViewerResponse / desktopViewerResponse 中分别将这些对等点分配给它们各自的“参与者”,这样当我遇到这个问题时,它们就不会被那些临时 webRtcWebcamPeer/webRtcDesktopPeer 变量引用.

提前致谢。

【问题讨论】:

    标签: node.js kurento


    【解决方案1】:

    如果有人正在为此寻找答案,我找到了解决方案。不是最优雅的,但它 100% 的时间都有效。

    endpoint.on('OnIceComponentStateChanged', function(event) {
         if(event.state==='CONNECTED'){
            //resolve your promise to continue on with your next connection here.
         }
    });
    

    【讨论】:

      猜你喜欢
      • 2016-11-11
      • 2015-05-20
      • 1970-01-01
      • 2016-11-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-27
      相关资源
      最近更新 更多