当前位置: 首页 > news >正文

webrtc-stats

1. RTP 相关统计

1.1 inbound-rtp (接收端统计)

接收到的 RTP 流统计信息,包含以下关键指标:

  • bytesReceived: 接收到的字节总数
  • packetsReceived: 接收到的数据包总数
  • packetsLost: 丢失的数据包数量
  • jitter: 数据包到达时间的抖动(毫秒)
  • framesDecoded: 已解码的视频帧数
  • frameWidth: 视频帧宽度
  • frameHeight: 视频帧高度
  • framesPerSecond: 每秒解码的帧数
  • kind: 媒体类型(“video” 或 “audio”)

1.2 outbound-rtp (发送端统计)

发送的 RTP 流统计信息,包含以下关键指标:

  • bytesSent: 发送的字节总数
  • packetsSent: 发送的数据包总数
  • retransmittedPacketsSent: 重传的数据包数量
  • retransmittedBytesSent: 重传的字节总数
  • kind: 媒体类型(“video” 或 “audio”)

1.3 remote-inbound-rtp (对端接收统计)

对端接收到的 RTP 流统计信息,包含:

  • packetsLost: 对端报告的丢包数
  • jitter: 对端报告的抖动
  • roundTripTime: 往返时间(RTT)
  • totalRoundTripTime: 总往返时间

1.4 remote-outbound-rtp (对端发送统计)

对端发送的 RTP 流统计信息,包含:

  • packetsSent: 对端发送的数据包数
  • bytesSent: 对端发送的字节数
  • timestamp: 时间戳

2. 媒体轨道相关统计

2.1 track (媒体轨道统计)

媒体轨道的统计信息,包含:

  • frameWidth: 视频帧宽度
  • frameHeight: 视频帧高度
  • framesPerSecond: 每秒帧数
  • framesSent: 发送的帧数
  • framesReceived: 接收的帧数
  • framesDecoded: 解码的帧数
  • framesDropped: 丢弃的帧数

2.2 media-source (媒体源统计)

媒体源的统计信息,包含:

  • width: 源视频宽度
  • height: 源视频高度
  • framesPerSecond: 源视频帧率
  • frames: 总帧数

2.3 media-playout (媒体播放统计)

媒体播放的统计信息,包含:

  • framesDecoded: 解码的帧数
  • framesDropped: 丢弃的帧数
  • framesCorrupted: 损坏的帧数
  • totalFramesDuration: 总帧持续时间

3. 编解码器相关统计

3.1 codec (编解码器统计)

编解码器的统计信息,包含:

  • payloadType: 负载类型
  • mimeType: MIME 类型
  • clockRate: 时钟频率
  • channels: 通道数
  • sdpFmtpLine: SDP 格式参数

4. 传输相关统计

4.1 transport (传输层统计)

传输层的统计信息,包含:

  • bytesReceived: 接收的字节数
  • bytesSent: 发送的字节数
  • packetsReceived: 接收的数据包数
  • packetsSent: 发送的数据包数
  • selectedCandidatePairId: 选中的候选者对 ID

4.2 candidate-pair (候选者对统计)

ICE 候选者对的统计信息,包含:

  • state: 连接状态
  • priority: 优先级
  • nominated: 是否被提名
  • writable: 是否可写
  • readable: 是否可读
  • currentRoundTripTime: 当前往返时间
  • availableOutgoingBitrate: 可用输出比特率
  • requestsReceived: 接收到的请求数
  • requestsSent: 发送的请求数
  • responsesReceived: 接收到的响应数
  • responsesSent: 发送的响应数

4.3 local-candidate (本地候选者统计)

本地 ICE 候选者的统计信息,包含:

  • ip: IP 地址
  • port: 端口号
  • protocol: 协议类型
  • candidateType: 候选者类型
  • priority: 优先级

4.4 remote-candidate (远程候选者统计)

远程 ICE 候选者的统计信息,包含:

  • ip: IP 地址
  • port: 端口号
  • protocol: 协议类型
  • candidateType: 候选者类型

5. 数据通道相关统计

5.1 data-channel (数据通道统计)

数据通道的统计信息,包含:

  • state: 通道状态
  • messagesSent: 发送的消息数
  • bytesSent: 发送的字节数
  • messagesReceived: 接收的消息数
  • bytesReceived: 接收的字节数

使用示例

// 获取所有统计信息
pc.getStats(null).then(stats => {
    stats.forEach(report => {
        switch(report.type) {
            case 'inbound-rtp':
                console.log('接收统计:', {
                    bitrate: report.bytesReceived,
                    packetsLost: report.packetsLost,
                    jitter: report.jitter
                });
                break;
            case 'outbound-rtp':
                console.log('发送统计:', {
                    bitrate: report.bytesSent,
                    packetsSent: report.packetsSent
                });
                break;
            case 'candidate-pair':
                if (report.state === 'succeeded') {
                    console.log('网络质量:', {
                        rtt: report.currentRoundTripTime,
                        bitrate: report.availableOutgoingBitrate
                    });
                }
                break;
        }
    });
});

注意事项

  1. 统计信息的可用性取决于浏览器实现
  2. 某些统计信息可能只在特定条件下可用
  3. 统计信息的更新频率可能因浏览器而异
  4. 建议定期获取统计信息以监控连接质量
  5. 某些统计信息可能需要权限才能访问

相关文章:

  • 3.神经网络
  • Linux系统(Ubuntu和树莓派)的远程操作练习
  • 第十四届蓝桥杯大赛软件赛省赛C/C++ 大学 B 组
  • 初始JavaEE篇 —— SpringBoot 统一功能处理
  • c++--------- stack queue
  • 大语言模型(LLM)全解析:从原理到实战应用
  • 具身推理器:协同视觉搜索、推理和行动,实现具身交互任务
  • openssl源码分析之加密模式(modes)
  • java 集合进阶
  • 顺序表:从数组到高效数据管理的进化之路
  • Android studio打包uniapp插件
  • 浅谈JS判断类型的几个方法
  • CNN注意力机制的进化史:深度解析10种注意力模块如何重塑卷积神经网络
  • 在 Vue 中监听常用按键事件(回车,ESC 键,空格等)。
  • Wincc通过VBS脚本控制控件“ Wincc Online Trend Control ”的曲线显示
  • windows开启wsl与轻量级虚拟机管理
  • [Vue]App.vue讲解
  • 【Vue3知识】组件间通信的方式
  • 2025年Python的主要应用场景
  • 查看wifi密码
  • 白宫启动“返乡计划” ,鼓励非法移民自愿离开美国
  • 东洋学人|滨田青陵:近代日本考古学第一人
  • 晶圆销量上升,中芯国际一季度营收增长近三成,净利增超1.6倍
  • 首批证券公司科创债来了!拟发行规模超160亿元
  • 2025上海科技节将于5月17日开幕,拟设6大板块专题活动
  • 定位真核生物起源于约27.2亿年前,华东师大团队在《自然》发文