2017-08-14 80 views
0

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

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

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

只包含有关的视频流(好笑,我要求的音频流),并没有带宽的细节信息。上例中没有其他数组流。 您是否知道我需要寻找MediaStream的当前质量/带宽?

回答

2

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

+0

非常感谢!我认为它更明显,但解决方案是足够公平的。 – Roy

相关问题