VideoEncoder:isConfigSupported() 静态方法

有限可用性

此功能并非基线功能,因为它在一些最广泛使用的浏览器中无法正常工作。

安全上下文:此功能仅在安全上下文(HTTPS)中可用,在部分或所有支持的浏览器中。

注意:此功能在专用 Web 工作线程中可用。

isConfigSupported()VideoEncoder 接口的静态方法,用于检查是否可以使用给定的配置成功配置 VideoEncoder

语法

js
VideoEncoder.isConfigSupported(config)

参数

config

VideoEncoder.configure 接受的字典对象

返回值

一个 Promise,解析为包含以下成员的对象

supported

一个布尔值,如果给定的配置受编码器支持,则为 true

config

给定配置的副本,其中包含编码器识别到的所有字段。

异常

TypeError

如果提供的 config 无效,则抛出此异常;也就是说,如果缺少必需的值(例如空的 codec 字段)或具有无效的值(例如负数的 width

示例

以下示例测试浏览器是否支持几种视频编解码器的加速和非加速版本。

js
const codecs = ["avc1.42001E", "vp8", "vp09.00.10.08", "av01.0.04M.08"];
const accelerations = ["prefer-hardware", "prefer-software"];

const configs = [];
for (const codec of codecs) {
  for (const acceleration of accelerations) {
    configs.push({
      codec,
      hardwareAcceleration: acceleration,
      width: 1280,
      height: 720,
      bitrate: 2_000_000,
      bitrateMode: "constant",
      framerate: 30,
      not_supported_field: 123,
    });
  }
}

for (const config of configs) {
  const support = await VideoEncoder.isConfigSupported(config);
  console.log(
    `VideoEncoder's config ${JSON.stringify(support.config)} support: ${
      support.supported
    }`,
  );
}

规范

规范
WebCodecs
# dom-videoencoder-isconfigsupported

浏览器兼容性

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