【发布时间】:2021-02-17 14:27:08
【问题描述】:
根据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);
};
我不认为evt.streams 有1 个对象,所以我没有写evt.streams[0]。
从日志中可以明显看出getRemoteStreams() 只返回一个对象。 ontrack 只有一个流时怎么可能触发两次,为什么第二个 RTCRtpTransceiver 不创建新流?
【问题讨论】:
标签: webrtc