1.前言

在WebRTC中,我们需要对当前的音视频情况进行监控,便于对音视频质量有一个了解,同时可以用来分析定位音视频卡顿模糊等问题。WebRTC提供了一个标准的解决方案:标准详情,基于此标准Kurento也提供了一套实现方案,接下来就来具体介绍一下。

 

2. 序列图


依照上述时序图openvidu这块步骤分为2步:

第一步创建媒体通道时开启WEBRTC统计信息:

pipeline.setLatencyStats(true);

 

第二步端点调用getStats方法并处理返回Map类型的数据,重点在第二步上面。

 

 

其中getStats方法可分别获取video流,audio流,data数据的质量统计,其中返回的Map数据里面以键值对的形式包含有所需要的数据。

列表如下:

l ***c:同步源(***C)。

l firCount:计算发送方收到的完整内部请求(FIR)数据包的总数。此指标仅对视频有效,并由接收方发送。

l pliCount:计算发送方接收并由接收方发送的数据包丢失指示(PLI)数据包的总数。

l nackCount:计算发送方接收到并由接收方发送的否定确认(NACK)数据包的总数。

l sliCount:计算发送方接收的切片丢失指示(SLI)数据包的总数。此指标仅对视频有效,并由接收方发送。

l remb:接收器估计的最大比特率(REMB)。此指标仅对视频有效。

l packetLost:此***C丢失的RTP数据包总数。

l packetReceived:为此***C接收的RTP数据包总数。

l bytesReceived:为此***C接收的字节总数。

l jitter:此***C的数据包抖动(以秒为单位)。

l packetSent:为此***C发送的RTP数据包总数。

l bytesSent:为此***C发送的字节总数。

l targetBitrate:此***C当前配置的比特率目标,以每秒比特数为单位。

l roundTripTime:基于RTCP时间戳,此***C的估计往返时间(秒)。

l audioE2ELatency:端到端音频延迟(以纳秒为单位)。

l videoE2ELatency:端到端视频延迟(以纳秒为单位)。

l inboundrtp:KMS中收到的流的统计信息。

l outboundrtp:KMS发送的流的统计信息。

 

3. 注意事项

网络质量衡量的是网络链路的强度,而不是用户对视频或音频的实际感知。这一区别很重要:即使面对非常糟糕的网络链接,WebRTC仍包含非常先进的机制来尝试调整传输,但是并不能保证这些机制足以提供无缝的体验。在最佳情况下,没人会注意到,视频或音频流将以高质量进行,好像什么也没发生。否则,视频和音频可能会断断续续,并且整体质量会下降。

 

4.结束语

关于openvidu实现网络质量检测统计的分享就到这里咯。还请各位观众老爷多多交流指正哦。


©著作权归作者所有:来自51CTO博客作者睿江云小普的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. Wireshark分析艺术【读书总结】
  2. python + ldap +jira 发送 钉钉@艾特人
  3. Python开发技巧:scrapy-redis爬虫如何发送POST请求
  4. scrapy-redis爬虫如何发送POST请求
  5. Dynamics 365使用代码发送邮件给指定邮箱地址
  6. crond定时任务 引发大量的邮件发送,sendmail进程负载高的解决办法
  7. 企业微信接收 Amazon CloudWatch 告警
  8. Python发送邮件各种姿势
  9. Python 发送邮件各种姿势

随机推荐

  1. 远程服务器CentOS7安装MySQL并用本地Navi
  2. 在mac中配置apache+php5.3+mysql的环境,修
  3. 如何在mysql中的两个值之间插入一个新值
  4. 主义通过扩展来破坏对实体的查询
  5. 新版MySql 5.6.20,安装后无法登陆的解决办
  6. MySQL procedure 与 function 的区别
  7. ISSUE:Mysql将Enum转换为Int
  8. 关于MySQL数据库操作
  9. MySQL中varchar最大长度是多少?
  10. mysql 第二十四篇文章~相关分片功能的测