RTCRemoteInboundRtpStreamStats

**RTCRemoteInboundRtpStreamStats** 是 WebRTC API 中的一个字典,用于报告远程端点关于特定传入 RTP 流的统计信息。这些统计信息将对应于 RTCPeerConnection 本地端的一个传出 RTP 流。

可以通过迭代 RTCStatsReport(由 RTCPeerConnection.getStats()RTCRtpReceiver.getStats() 返回)来获取统计信息,直到找到一个 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

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

timestamp

一个 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

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

另请参阅