RTCVideoSourceStats

基線 2023 *
新推出

自 ⁨2023 年 5 月⁩起,此功能可在最新的裝置和瀏覽器版本上使用。此功能可能無法在舊版裝置或瀏覽器上使用。

* 此特性的某些部分可能存在不同級別的支援。

RTCVideoSourceStats 字典是 WebRTC API 的一部分,它提供了有關附加到一個或多個傳送者 (RTCRtpSender) 的影片軌道 (MediaStreamTrack) 的統計資訊。

這些統計資訊可以透過迭代 RTCRtpSender.getStats()RTCPeerConnection.getStats() 返回的 RTCStatsReport 來獲得,直到找到一個 typemedia-sourcekindvideo 的報告。

注意: 對於遠端源(正在接收)的影片資訊,請參閱 RTCInboundRtpStreamStats

例項屬性

frames 可選

一個正數,表示此影片源產生的總幀數。

framesPerSecond 可選

一個正數,表示此影片源在過去一秒鐘內產生的幀數。此屬性在統計物件存在的第一秒內未定義。

height 可選

一個數字,表示此源產生的最後一幀的高度(以畫素為單位)。此屬性在生成第一幀之前未在此統計物件上定義。

width 可選

一個數字,表示此源產生的最新一幀的寬度(以畫素為單位)。此屬性在生成第一幀之前未在此統計物件上定義。

通用的 media-source 屬性

以下屬性存在於 RTCVideoSourceStatsRTCAudioSourceStats

trackIdentifier

一個字串,包含與影片源關聯的 MediaStreamTrackid 值。

kind

一個字串,指示此物件是否代表影片源或媒體源的統計資訊。對於 RTCVideoSourceStats,它始終是 video

常見例項屬性

以下屬性是所有統計物件共有的。

id

一個字串,唯一標識正在監控以生成這組統計資訊的物件。

時間戳

一個 DOMHighResTimeStamp 物件,表示此統計資訊物件樣本的採集時間。

type

一個值為 "media-source" 的字串,表示該物件是 RTCAudioSourceStatsRTCVideoSourceStats 的例項。

描述

該介面提供了附加到一個或多個傳送者的影片媒體源的統計資訊。資訊包括相關的 MediaStreamTrack 的識別符號,以及源傳送的最後一幀的高度和寬度、源傳送的幀數以及幀率。

示例

此示例展示瞭如何迭代 RTCRtpSender.getStats() 返回的統計物件,以獲取特定於影片的媒體源統計資訊。

js
// where sender is an RTCRtpSender
const stats = await sender.getStats();
let videoSourceStats = null;

stats.forEach((report) => {
  if (report.type === "media-source" && report.kind==="video") {
    videoSourceStats = report;
    break;
  }
});

// videoSourceStats will be null if the report did not include video source stats
const frames = videoSourceStats?.frames;
const fps = videoSourceStats?.framesPerSecond;
const width = videoSourceStats?.width;
const height = videoSourceStats?.height;

規範

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

瀏覽器相容性