WebRTC:使用 getStats()

WebRTC: use of getStats()

我正在尝试获取 webRTC 应用程序的统计信息以测量 audio/video 流媒体带宽。 我检查了这个question,发现它非常有用;但是,当我尝试使用它时,我得到

TypeError: Not enough arguments to RTCPeerConnection.getStats.

我认为这是因为在 2016 年 webRTC 发生了一些变化,现在有了 mediaStreamTracks;但是我在没有使用 mediaStreamTracks 的情况下构建了项目,我不知道如何更改此功能以使其正常工作。

你有什么想法吗? 感谢您的支持!

更新:

我的电话是

peer.pc.onaddstream = function(event) {
      peer.remoteVideoEl.setAttribute("id", event.stream.id);
      attachMediaStream(peer.remoteVideoEl, event.stream);
      remoteVideosContainer.appendChild(peer.remoteVideoEl);
      getStats(peer.pc);
};

和 getStats() 与第 n.7 章中的 link 相同。

自从我使用 WebRTC 以来已经有一段时间了,然后问题是,chrome 和 firefox 以不同的方式实现它(相信他们仍然以不同的方式实现)

火狐:

webrtc 统计信息选项卡是 about:webrtc

peerConnection.getStats(null).then(function(stats){...  // returns a promise

Chrome:

webrtc 统计信息选项卡是 chrome://webrtc-internals/

peerConnection.getStats(function(stats){ // pass a callback function

避免这些跨浏览器问题的一种方法是使用 adapter.js