javascript - 浏览器中音频 MediaStream 的当前带宽或质量是多少? (WebRTC)

标签 javascript browser webrtc opus mediastream

我目前正在构建一个 WebRTC 应用程序,并希望收集一些统计数据来评价我的解决方案。我感兴趣的一个指标是接收到的音频(和视频)流的当前带宽。我能够在 chrome://webrtc-internals/ (OPUS) 找到当前使用的编解码器,但我无法找到有关流的当前质量/带宽的数字(例如 128kbit/s).

我已经在 RTCPeerConnection 对象中搜索了这样的数字,但还没有找到。 XXX.RTCconnection.getRemoteStreams()[0].getAudioTracks()[0].getConstraints() 只返回

{ 
  deviceId: {}, 
  echoCancellation: {}, 
  facingMode: {}, 
  frameRate: {}, 
  height: {}, 
  mediaSource: "camera", 
  mozAutoGainControl: {}, 
  mozNoiseSuppression: {}, 
  viewportHeight: {}, 
  viewportOffsetX: {}, 
  ...
}

仅包含有关视频流的信息(有趣的是我请求了音频流)并且没有带宽详细信息。上例中的数组没有其他流。 您知道我需要在哪里查找 MediaStream 的当前质量/带宽吗?

最佳答案

您需要使用 RTCPeerConnection.getStats() API,搜索 bytesReceived然后将比特率计算为两次调用之间 bytesReceived 的差异。 This展示了一个完整的例子。

关于javascript - 浏览器中音频 MediaStream 的当前带宽或质量是多少? (WebRTC),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45677296/

相关文章:

javascript - 分析声音流而不重复它

javascript - twilio video 的群组房间和点对点房间有什么区别?

webrtc 和 peerjs : how to choose H264 instead of vp8?

javascript - 为什么我的函数无法访问外部定义的变量

javascript - 如何区分 Javascript 中的扫描仪输入和键盘输入?

html - 如何从 URL 压缩图像?

javascript - 这个 JS 行 "document.cookie="xxx”有多容易受到跨浏览器攻击?

javascript - 遍历数字

javascript - 使用 Math.round 后在 JavaScript 中为 -0?什么是-0?

xml - XSL 浏览器问题