8

我已经能够使用 RTCPeerConnection.getStats() API 获得 WebRTC 音频调用的各种统计信息(抖动、RTT、丢包等)。

我需要将整体通话质量评为优秀、良好、一般或差。

是否有使用 WebRTC 统计数据给出总体评分的公式?如果不是,我应该给予哪些 WebRTC 统计数据更多的权重?

4

1 回答 1

7

我们最终使用 MOS(平均意见分数)算法来计算语音通话质量指标。

这是我们使用的公式 -

取平均延迟,添加抖动,但对延迟的影响加倍,然后为协议延迟添加 10 EffectiveLatency = (AverageLatency + Jitter * 2 + 10)

实现一个基本曲线 - 在 160 毫秒的延迟(往返)处减去 4 的 R 值。如果 EffectiveLatency < 160 然后 R = 93.2 - (EffectiveLatency / 40) 否则 R = 93.2 - (EffectiveLatency - 120) / 10

现在,让我们每丢包百分比减去 2.5 个 R 值 R = R - (PacketLoss * 2.5)

将 R 转换为 MOS 值。(这是已知公式)MOS = 1 + (0.035) * R + (.000007) * R * (R-60) * (100-R)

我们从https://www.pingman.com/kb/article/how-is-mos-calculated-in-pingplotter-pro-50.html找到了公式

于 2019-01-17T07:37:54.437 回答