是否有用于将 WebRTC 音频质量评定为优秀、良好、一般或差的公式?

Is there a formula for rating WebRTC audio quality as Excellent, Good, Fair, or Poor?

我已经能够使用 RTCPeerConnection.getStats() API.

获取 WebRTC 音频通话的各种统计数据(抖动、RTT、数据包丢失等)

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

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

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

这是我们使用的公式 -

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

实现一个基本曲线——160ms延迟时R值减4 (往返)。任何超过这个的东西都会得到更激进的扣除 如果 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

中找到了公式