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

10
我能够使用RTCPeerConnection.getStats() API获取WebRTC音频通话的各种统计数据(如抖动、往返时延、丢包等)。
我需要将整个通话的质量评级为“优秀”、“良好”、“一般”或“差”。
是否有一种公式可以使用WebRTC统计数据来给出总体评级?如果没有,那么我应该更加重视哪些WebRTC统计指标?

你能解释一下如何获取Jitter、RTT、丢包等吗?或者提供示例代码。 - user2164613
2个回答

8
我们最终使用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中找到了这个公式。

1
你能展示一下这个公式的JS代码示例吗? - user2164613

1
MOS(Mean Opinion Score)是你寻找的用于估计网络质量的指标。这个算法是微小的webrtc-issue-detector库的一部分,因此你可以在客户端使用它来分析和监控你的getStats()结果。该库还能识别可能影响媒体质量的问题,如客户端CPU问题、网络问题或服务器问题。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接