WebRTC:使用getStats()

时间:2016-07-08 09:19:46

标签: javascript webrtc bandwidth mediastream

我正在尝试获取webRTC应用的统计数据来衡量音频/视频流带宽。 我检查了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相同。

1 个答案:

答案 0 :(得分:6)

自从我使用WebRTC之后的某个时候,问题就是,chrome和firefox以不同的方式实现它(相信它们仍然以不同的方式实现)

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