RTCVideoSourceStats
RTCVideoSourceStats
字典属于WebRTC API,提供有关附加到一个或多个发送器(RTCRtpSender
)的视频轨道(MediaStreamTrack
)的统计信息。
可以通过迭代RTCStatsReport
(由RTCRtpSender.getStats()
或RTCPeerConnection.getStats()
返回)来获取这些统计信息,直到找到一个报告,其type
为media-source
,且kind
为video
。
注意:有关远程源轨道(正在接收的轨道)的视频信息,请参阅RTCInboundRtpStreamStats
。
实例属性
frames
可选-
一个正数,表示源自此视频源的总帧数。
framesPerSecond
可选-
一个正数,表示在过去一秒中源自此视频源的帧数。此属性在其存在的第一秒内未在此统计信息对象上定义。
height
可选-
一个数字,表示源自此源的最后一帧的高度(以像素为单位)。在此统计信息对象生成第一帧之前,此属性未定义。
width
可选-
一个数字,表示源自此源的最新帧的宽度(以像素为单位)。在此统计信息对象生成第一帧之前,此属性未定义。
常见的媒体源属性
以下属性同时存在于RTCVideoSourceStats
和RTCAudioSourceStats
中
轨道标识符
-
一个字符串,包含与视频源关联的
MediaStreamTrack
的id
值。 种类
-
一个字符串,指示此对象是否代表视频源或媒体源的统计信息。对于
RTCVideoSourceStats
,这将始终为video
。
常见的实例属性
以下属性是所有统计信息对象共有的。
ID
-
一个唯一标识正在监控以生成此组统计信息的对象的字符串。
时间戳
-
一个
DOMHighResTimeStamp
对象,指示为该统计信息对象获取样本的时间。 类型
-
一个值为
"media-source"
的字符串,指示该对象是RTCAudioSourceStats
或RTCVideoSourceStats
的实例。
描述
该接口提供有关附加到一个或多个发送器的视频媒体源的统计信息。信息包括关联的MediaStreamTrack
的标识符,以及源发送的最后一帧的高度和宽度、源发送的帧数以及帧率。
示例
此示例演示如何迭代从RTCRtpSender.getStats()
返回的统计信息对象以获取特定于视频的媒体源统计信息。
// 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 的浏览器中加载。