VideoPlaybackQuality: totalVideoFrames 属性

Baseline 已广泛支持

此功能已成熟,并可在多种设备和浏览器版本上运行。自 2019 年 3 月以来,它已在所有浏览器中可用。

VideoPlaybackQuality 接口的只读属性 totalVideoFrames 返回自媒体加载以来已显示或已丢弃的总视频帧数。

自媒体加载到 <video> 元素以来,该元素已显示或已丢弃的总帧数。本质上,这是该元素如果没有出现问题“本应呈现”的帧数。

当媒体重新加载或替换时,此值将重置。

示例

此示例调用 getVideoPlaybackQuality() 以获取 VideoPlaybackQuality 对象,然后确定因损坏或丢弃而丢失的帧的百分比。如果该百分比超过 10% (0.1),则调用一个名为 lostFramesThresholdExceeded() 的函数,以可能更新质量指示器以显示帧丢失的增加。

js
const videoElem = document.getElementById("my_vid");
const quality = videoElem.getVideoPlaybackQuality();

if (
  (quality.corruptedVideoFrames + quality.droppedVideoFrames) /
    quality.totalVideoFrames >
  0.1
) {
  lostFramesThresholdExceeded();
}

可以使用类似的算法尝试切换到需要更少带宽的较低分辨率视频,以避免丢帧。

规范

规范
媒体播放质量
# dom-videoplaybackquality-totalvideoframes

浏览器兼容性

另见

  • 用于构造和返回此接口的 HTMLVideoElement.getVideoPlaybackQuality() 方法。