RTCRemoteInboundRtpStreamStats

Baseline 广泛可用 *

此功能已广泛建立,并可在多种设备和浏览器版本中使用。自 ⁨2020 年 2 月⁩ 起,浏览器均已支持该功能。

* 此特性的某些部分可能存在不同级别的支持。

WebRTC API 的 RTCRemoteInboundRtpStreamStats 字典用于报告来自远程端点的关于特定入站 RTP 流的统计信息。这些统计信息对应于 RTCPeerConnection 本地端的出站 RTP 流。

可以通过迭代 RTCPeerConnection.getStats()RTCRtpReceiver.getStats() 返回的 RTCStatsReport 来获取统计信息,直到找到一个 typeremote-inbound-rtp 的报告。

实例属性

远程入站特定统计信息

fractionLost 可选

一个数字,表示自上次发送方或接收方报告以来,此 SSRC 的丢包率。

localId 可选

一个字符串,用于查找具有相同 同步源 (SSRC) 的本地 RTCOutboundRtpStreamStats 对象。

roundTripTime 可选

一个数字,表示此 SSRC 的估算往返时间 (RTT),单位为秒。此属性在收到有效的 RTT 数据之前不会存在。

roundTripTimeMeasurements 可选

一个正整数,表示此 同步源 (SSRC) 收到的有效往返时间测量值的总数。

totalRoundTripTime 可选

一个数字,表示自会话开始以来所有往返时间测量值的累积总和,单位为秒。可以通过将 totalRoundTripTime 除以 roundTripTimeMeasurements 来计算平均往返时间。

接收到的 RTP 流统计信息

jitter 可选

一个数字,表示此同步源的 数据包抖动,单位为秒。

packetsLost 可选

一个整数,表示在远程端点测量的此 SSRC 丢失的 RTP 数据包总数。如果收到了重复的数据包,此值可能为负数。

packetsReceived 可选 实验性

一个正整数,表示此 SSRC 接收到的 RTP 数据包总数,包括重传。

常见 RTP 流统计信息

codecId 可选

一个字符串,用于唯一标识用于生成与此 RTP 流关联的 RTCCodecStats 对象的对象。

kind

一个字符串,指示与该流关联的 MediaStreamTrack 是音频轨道还是视频轨道。

ssrc

一个正整数,用于标识此流中 RTP 数据包的 SSRC。

transportId 可选

一个字符串,唯一标识被检查以生成与此 RTP 流关联的 RTCTransportStats 对象的对象。

常见实例属性

以下属性是所有 WebRTC 统计信息对象共有的。

id

一个字符串,唯一标识正在监控以生成这组统计信息的对象。

时间戳

一个 DOMHighResTimeStamp 对象,表示此统计信息对象样本的采集时间。

type

一个值为 "inbound-rtp" 的字符串,表示对象包含的统计信息类型。

示例

给定一个变量 peerConnection,它是一个 RTCPeerConnection 的实例,下面的代码使用 await 等待统计报告,然后使用 RTCStatsReport.forEach() 迭代它。然后,它会过滤字典,只保留类型为 remote-inbound-rtp 的报告,并将结果记录下来。

js
const stats = await myPeerConnection.getStats();

stats.forEach((report) => {
  if (report.type === "remote-inbound-rtp") {
    console.log("Remote Inbound RTP Stream Stats:");
    console.log(`id: ${report.id}`);
    console.log(`timestamp: ${report.timestamp}`);
    console.log(`transportId: ${report.transportId}`);
    console.log(`ssrc: ${report.ssrc}`);
    console.log(`kind: ${report.kind}`);
    console.log(`codecId: ${report.codecId}`);
    console.log(`packetsReceived: ${report.packetsReceived}`);
    console.log(`packetsLost: ${report.packetsLost}`);
    console.log(`jitter: ${report.jitter}`);
    console.log(`totalRoundTripTime: ${report.totalRoundTripTime}`);
    console.log(
      `roundTripTimeMeasurements: ${report.roundTripTimeMeasurements}`,
    );
    console.log(`roundTripTime: ${report.roundTripTime}`);
    console.log(`localId: ${report.localId}`);
    console.log(`fractionLost: ${report.fractionLost}`);
  }
});

规范

规范
WebRTC 统计 API 的标识符
# dom-rtcstatstype-remote-inbound-rtp

浏览器兼容性

另见