关于网络质量network-quality的问题

我们在web SDK监听 network-quality 回调确实可以收到上下行数据,但是发现一个问题,这个数值的衡量标准取决于什么呢,我们模拟限速发现,数值反应及其不敏感,那这个数值可以做为什么参考意义呢,我们的想法是用户衡量每个客户端的网络质量,望解惑谢谢

该回调主要可以应用于课前/直播前网络监测的场景:在加入频道,通过 network-quality 回调拿到用户上下行网络的质量打分,然后再退出。


现在这个标准就是按丢包率算的吗,还有问一下,你说这个应用于课前,那就是我joinroom后就能收到这个回调了是吗,跟音视频没有关系,那可以通过哪个参数来判断现在音视频的质量呢

image
主要通过这四个方法,请参考:https://docs.agora.io/cn/Video/API%20Reference/web/index.html

关于通话质量检测:https://docs.agora.io/cn/Interactive%20Broadcast/call_statistics_web?platform=Web

麻烦再问一下


您的意思是network-quality的衡量标准是按丢包率算的吗,如果课中我想检测用哪个数值能比较直观反应音视频质量

我重新确认了一下,这个下行网络质量主要是基于下行网络的丢包率、平均往返延时和网络抖动计算,上行网络质量主要是基于上行视频的发送码率、上行丢包率、平均往返时延和网络抖动计算。

network-quality 这个回调主要是反馈用户的主观体验感受,如果需要客观数据,请参考:
https://docs.agora.io/cn/Video/call_statistics_web?platform=Web#session_statistics

我测试了一下发现几个问题,network-quality返回的状态延迟很大,我都断网了还在返回1,直到disconnect后返回0,这个数据能否更加精确,从测试结果看,这个是在本地客户端有个缓存,返回数据延迟的原因可能在此

我这边测了一下确实是这样,我会反馈一下这个问题。
如果需要更准确的数据,可以通过 getstats 方法获取:https://docs.agora.io/cn/Interactive%20Broadcast/API%20Reference/web/interfaces/agorartc.stream.html#getstats

好的,你帮我反馈一下,现在如果用stats数据的话,不知道用哪个指标去衡量这个标准

getstats:

视频发送丢包率:videoSendPacketsLost/ (videoSendPackets-videoSendPacketsLost);视频接收丢包率:videoReceivePacketsLost/(videoReceivePackets-videoReceivePacketsLost)

音频发送丢包率:audioSendPacketsLost/(audioSendPackets-audioSendPacketsLost);音频接收丢包率:audioReceivePacketsLost/(audioReceivePackets-audioReceivePacketsLost)

丢包率:0%~1% 网络质量很好 ;1%~5% 网络质量良好;5%·10% 网络质量一般;10%~20%网络质量比较差;超过20% 网络很差

11个帖子被分离到新主题音画不同步问题


我按这种方式测试了丢包率情况,数值基本都在0-5%之间波动,数值不敏感,但是在水晶球里怎么能看到很多10 – 70 %的丢包率,统计方式一致吗, 还是这种算法数值本身有问题

你提供下测试的 console log?我这边查下后台数据。

网络统计日志.txt.zip (17.4 KB)
这是我开房间测试的统计数据,房间号为197479,这里的丢包和延时远小于水晶球统计,up和down的数据是咱们的network-quality数据,现在的network数据延迟性有所改善,我已经更新至2.9.0版本,是不是这块已经优化,提前祝国庆快乐~~

你的 log 里打印的数据是 发送的音频/视频丢包数 还是 接收的音频/视频丢包数 呢?对应的参数是哪个?
能不能把对应的时间点打印出来呀?我这边比对一下后台丢包率数据。

是发送的丢包,

音视频就是按这个统计的,2秒轮询一次

那么你日志里的数据就是 uid 为 63 用户的音视频上行丢包率,我这边比对了后台数据,丢包率是一致的啊,没看到有很多10-70%的丢包率。
你看的是用户 63 的上行丢包率吗?最好能够把对应的时间点打印出来,一个时间点一个时间点地比对。

是63的上行丢包率,我在水晶球里看差异很大啊



这是63在水晶球里看的视频和音频上行情况 ,我上传的log是16:30-----17:01的日志


你光标点上去就会发现绝大部分时间丢包率都是0%,你也可以通过拖动来放大局部,查看某一个时间段的数据,对应的比较大的丢包率,我在你的日志里有找到对应的点:

这个数据和水晶球数据是对应的,计算方法也一致。其实你日志的打印方式是不清晰的,第一个问题是没有打印对应时间点,第二个问题是63和55混合在一起,打印的格式也不一致,不好去判断哪个数据对应哪一个。

恩,看见了,我这个就是63的发送,另外加了63和55的network-quality数据,我节前只是跑了几次数据简单测试对比了一下,我发现现在。2.9版本的network-quality数据要比我们自己统计丢包率敏感,之前发现数据不敏感所以才想着自己统计丢包