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

瀏覽器相容性

另見