RTCRemoteInboundRtpStreamStats
**RTCRemoteInboundRtpStreamStats
** 是 WebRTC API 中的一个字典,用于报告远程端点关于特定传入 RTP 流的统计信息。这些统计信息将对应于 RTCPeerConnection
本地端的一个传出 RTP 流。
可以通过迭代 RTCStatsReport
(由 RTCPeerConnection.getStats()
或 RTCRtpReceiver.getStats()
返回)来获取统计信息,直到找到一个 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
-
一个字符串,唯一标识正在监视以生成此组统计信息的对象。
timestamp
-
一个
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 |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。