小编Kei*_*van的帖子

如何从 WebRTC PeerConnection 获取多个流

根据RTCPeerConnection.ontrack文档,“ontrack”事件假设为每个传入流触发。我有一个带有两个视频流的 PeerConnection,连接后,“ontrack”触发两次(到目前为止一切正常)。但两次它都发送相同的流,所以我最终得到两个相同的视频,我确信发送者正在发送两个不同的流,它们的尺寸和帧速率不同,我可以在 chrome://webrtc-internals/ 中清楚地看到2 个视频流具有不同的帧大小/速率。

这是 PeerConnection ontrack 代码:

        this.peerConnection.ontrack = function(evt) {
            console.log("PeerConnection OnTrack event: ", evt.streams);
            that.emit('onRemoteStreamAdded', evt.streams);
        };
Run Code Online (Sandbox Code Playgroud)

我不认为evt.streams有 1 个对象,所以我没有写evt.streams[0].

这是 Chrome 控制台日志: Chrome 控制台日志

从日志中可以明显看出,getRemoteStreams()仅返回一个对象。当它只有一个流时怎么可能ontrack触发两次,为什么第二个 RTCRtpTransceiver 不创建一个新流?

webrtc

4
推荐指数
1
解决办法
6687
查看次数

标签 统计

webrtc ×1