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

问题描述 投票:0回答:2

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

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

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

webrtc simplewebrtc openwebrtc openwebrtcdemo
2个回答
8
投票

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

这是我们使用的公式 -

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

实现一条基本曲线——延迟160ms时R值减4 (往返)。任何超出此范围的事情都会受到更严厉的扣除 如果有效延迟 < 160 then R = 93.2 - (EffectiveLatency / 40) else R = 93.2 - (EffectiveLatency - 120) / 10

现在,我们根据丢包百分比扣除 2.5 个 R 值 R = R - (丢包率 * 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

找到了公式

0
投票

MOS(平均意见得分)是您用来评估网络质量的指标。该算法是小型 webrtc-issue- detector 库的一部分,因此您可以在客户端使用它来分析和监控 getStats() 结果。该库还识别可能影响媒体质量的问题,例如客户端 CPU 问题、网络或服务器端问题。

© www.soinside.com 2019 - 2024. All rights reserved.