从 0 打造音视频直播系统
李超
前新东方音视频直播技术专家,前沪江音视频架构师
32579 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 41 讲
WebRTC 1对1通话 (23讲)
从 0 打造音视频直播系统
15
15
1.0x
00:00/00:00
登录|注册

15 | WebRTC中的数据统计原来这么强大(上)

outbound-rtp
inbound-rtp
type
timestamp
id
getStats() API
使用Chrome浏览器
data-channel
outbound-rtp
inbound-rtp
切换网络链路
提示用户
调整网络状况
视频宽/高、帧率
流量
收包、发包、丢包
网络相关统计信息的计算
Report类型
RTCStatsReport
获取统计数据
监控类型
评估服务质量
监控内容
思考时间
统计信息
统计数据
数据监控
WebRTC中的数据统计

该思维导图由 AI 生成,仅供参考

当你使用 WebRTC 实现 1 对 1 通话后,还有一个非常重要的工作需要做,那就是实现数据监控。数据监控对于 WebRTC 来讲,就像是人的眼睛,有了它,你就可以随时了解 WebRTC 客户端的运转情况。
在 WebRTC 中可以监控很多方面的数据,比如收了多少包、发了多少包、丢了多少包,以及每路流的流量是多少,这几个是我们平常最关心的。除此之外,WebRTC 还能监控目前收到几路流、发送了几路流、视频的宽 / 高、帧率等这些信息。
有了这些信息,你就可以评估出目前用户使用的音视频产品的服务质量是好还是坏了。当发现用户的音视频服务质量比较差时,尤其是网络带宽不足时,可以通过降低视频分辨率、减少视频帧率、关闭视频等策略来调整你的网络状况。
当然,还可以给用户一些友好的提示信息,以增强用户更好的体验。比如说,当发现丢包率较高时,可以给用户一个提示信息,如 “你目前的网络质量较差,建议…”。
如果确实是网络质量较差时,还可以在底层做切换网络链路的尝试,从而使服务质量能有所改善!

WebRTC 都能统计哪些数据

鉴于这些统计信息的重要性,那接下来我们来看一下,在 WebRTC 中都能监控到哪些统计信息。
在 WebRTC 中可以统计到的信息特别多,按类型大体分为以下几种:
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

WebRTC中的数据统计对于实现1对1通话后的数据监控至关重要。通过监控收发包数量、丢包情况、流量、视频宽高、帧率等信息,可以评估用户的音视频服务质量,并根据网络状况调整分辨率、帧率等策略,提升用户体验。WebRTC提供了丰富的统计信息,包括接收到的音视频轨信息、发送的音视频轨信息等,通过这些信息可以进行服务质量分析。通过getStats() API,可以获取到各种统计信息,包括id、timestamp、type等字段,对于不同类型的Report对象,可以根据类型转换成对应的Report对象,再获取信息。这些统计信息对于音视频服务质量的评估至关重要,尤其是与传输相关的信息,如发包、收包、丢包等。通过这些信息,可以评估用户使用产品时是否出现问题。WebRTC的统计信息对于实际应用场景非常重要,通过它们可以评估音视频服务质量的好坏。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《从 0 打造音视频直播系统》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(7)

  • 最新
  • 精选
  • SherwinFeng
    具体地说就是,A从B那里获得SR报文,获得其中Report block部分中SSRC(数据源)是自己(A)的接收包(B接收A)情况,可以查看fraction lost/丢包比例字段 也可以查看cumulative number of packet lost字段/总丢包数。

    作者回复: 是的

    2019-11-26
    7
  • 李宁
    老师,STCP数据包是通过信令服务器转发的吗?如果在服务端获取到所有客户端的RR/SR数据包并解析存储下来?

    作者回复: 不通过信令服务器

    2020-01-25
  • 许童童
    思考题:两者都有统计数据,通过中间服务器一对比,就知道有没有丢包了。A还可以通过自己重发的包数,大致知道网络情况。

    作者回复: 不用对比,接收端就可以知道丢了多少包,你再想一想是不是这样?

    2019-08-17
  • Jason
    思考题:我想老师前面已经给出了答案,RTCP 有两个最重要的报文,RR(Reciever Report)和 SR(Sender Report)。通过这两个报文的交换,各端就知道自己的网络质量到底如何了。
    2019-08-17
    6
  • Geek_530e85
    老师 请问如何显示传输过程的传输延迟
    2022-03-09
  • expecting
    思考题: 对于接收端,对比inbound-rtp中接收的包总数和remote-outbound-rtp中发送的包总数就可以计算出来 发送端同理。
    2022-02-19
  • boom shakalaka
    老师,如何通过getStats()中的bytesReceived去计算bandwidth(带宽)
    2021-11-18
收起评论
显示
设置
留言
7
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部