欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 养生 > webrtc-stats

webrtc-stats

2025/4/19 15:21:40 来源:https://blog.csdn.net/Bl_a_ck/article/details/147080065  浏览:    关键词: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. 某些统计信息可能需要权限才能访问

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词