RTCRemoteInboundRtpStreamStats
Baseline 广泛可用 *
WebRTC API 的 RTCRemoteInboundRtpStreamStats 字典用于报告来自远程端点的关于特定入站 RTP 流的统计信息。这些统计信息对应于 RTCPeerConnection 本地端的出站 RTP 流。
可以通过迭代 RTCPeerConnection.getStats() 或 RTCRtpReceiver.getStats() 返回的 RTCStatsReport 来获取统计信息,直到找到一个 type 为 remote-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 的报告,并将结果记录下来。
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 |
浏览器兼容性
加载中…