javascript - WebRTC:使用 getStats()

标签 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() 与此相同 link在第 7 章。

最佳答案

自从我使用 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

关于javascript - WebRTC:使用 getStats(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38263101/

相关文章:

javascript - 云函数 - 如何仅实例化全局函数/变量一次?

html - 如何从javascript中的HTML5视频元素获取媒体流对象

javascript - WebRTC DataChannel 不符合规范?

c++ - 使用 C++ 测量跨网络的 2 个应用程序之间的数据传输速率(带宽),如何获得无偏见和准确的结果?

javascript - 如何在经过身份验证的页面上测试 javascript 隐藏/显示行为?

javascript - D3 鼠标悬停/鼠标悬停冲突

javascript - Safari 的 RTCDataChannel 实现完全损坏了吗?

PHP - 数据库查询或 POST

bandwidth - 可能的 DDoS 攻击?

javascript - 网站未加载。 jQuery 未定义