RTCOutboundRtpStreamStats: qualityLimitationDurations 屬性

可用性有限

此特性不是基線特性,因為它在一些最廣泛使用的瀏覽器中不起作用。

實驗性: 這是一項實驗性技術
在生產中使用此技術之前,請仔細檢查瀏覽器相容性表格

RTCOutboundRtpStreamStats 字典的 qualityLimitationDurations 屬性是一個對映表(map),記錄了媒體流的質量在編碼過程中被編解碼器降低的原因,以及由於每個原因導致質量降低的持續時間。

這種質量降低可能包括幀率或解析度降低,或者壓縮因子增加等變化。這些資訊可用於診斷吞吐量問題和最佳化效能。

注意: 此屬性僅存在於影片媒體中。

這是一個 Map,它將質量限制原因對映到一個數字,該數字表示流由於該原因被限制質量的持續時間(以秒為單位)。

允許的質量限制原因值為字串

none

質量沒有被限制。

cpu

質量主要受限於 CPU 負載。

bandwidth

質量主要受限於頻寬估計期間的擁塞提示,例如到達間隔時間(inter-arrival time)和往返時間(round-trip time)。

其他

質量主要受限於上述以外的其他原因。

示例

獲取流被質量限制的總時間

所有條目(除了 qualityLimitationDurations["none"])的總和,即為流被限制的總時間。

js
// Get the outbound RTP stream stats
pc.getStats().then((stats) => {
  stats.forEach((report) => {
    if (report.type === "outbound-rtp") {
      const qualityLimitations = report.qualityLimitationDurations;
      if (qualityLimitations) {
        let totalTimeLimited = 0;

        console.log("Quality Limitations:");
        qualityLimitations.forEach((duration, reason) => {
          console.log(`- ${reason}: ${duration} seconds`);
          if (reason !== "none") {
            totalTimeLimited += duration;
          }
        });
        console.log(`Total time limited: ${totalTimeLimited}`);
      }
    }
  });
});

規範

規範
WebRTC 統計 API 的識別符號
# dom-rtcoutboundrtpstreamstats-qualitylimitationdurations

瀏覽器相容性