RTCVideoSourceStats

RTCVideoSourceStats字典属于WebRTC API,提供有关附加到一个或多个发送器(RTCRtpSender)的视频轨道(MediaStreamTrack)的统计信息。

可以通过迭代RTCStatsReport(由RTCRtpSender.getStats()RTCPeerConnection.getStats()返回)来获取这些统计信息,直到找到一个报告,其typemedia-source,且kindvideo

注意:有关远程源轨道(正在接收的轨道)的视频信息,请参阅RTCInboundRtpStreamStats

实例属性

frames 可选

一个正数,表示源自此视频源的总帧数。

framesPerSecond 可选

一个正数,表示在过去一秒中源自此视频源的帧数。此属性在其存在的第一秒内未在此统计信息对象上定义。

height 可选

一个数字,表示源自此源的最后一帧的高度(以像素为单位)。在此统计信息对象生成第一帧之前,此属性未定义。

width 可选

一个数字,表示源自此源的最新帧的宽度(以像素为单位)。在此统计信息对象生成第一帧之前,此属性未定义。

常见的媒体源属性

以下属性同时存在于RTCVideoSourceStatsRTCAudioSourceStats

轨道标识符

一个字符串,包含与视频源关联的MediaStreamTrackid值。

种类

一个字符串,指示此对象是否代表视频源或媒体源的统计信息。对于RTCVideoSourceStats,这将始终为video

常见的实例属性

以下属性是所有统计信息对象共有的。

ID

一个唯一标识正在监控以生成此组统计信息的对象的字符串。

时间戳

一个DOMHighResTimeStamp对象,指示为该统计信息对象获取样本的时间。

类型

一个值为"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

浏览器兼容性

BCD 表仅在启用 JavaScript 的浏览器中加载。