VideoDecoder:configure() 方法

可用性有限

此特性不是基线特性,因为它在一些最广泛使用的浏览器中不起作用。

安全上下文: 此功能仅在安全上下文(HTTPS)中可用,且支持此功能的浏览器数量有限。

注意:此功能在 专用 Web Workers 中可用。

configure() 方法属于 VideoDecoder 接口,用于将控制消息排队,以配置视频解码器以解码块。

语法

js
configure(config)

参数

config

包含以下成员的对象

codec

一个字符串,包含一个有效的编解码器字符串。有关编解码器字符串构建的详细信息,请参阅“codecs”参数

description 可选

一个 ArrayBuffer、一个 TypedArray 或一个 DataView,其中包含一系列特定于编解码器的字节,通常称为 extradata。

codedWidth 可选

一个整数,表示 VideoFrame 的宽度(以像素为单位),包括任何非可见填充,在任何比例调整之前。

codedHeight 可选

一个整数,表示 VideoFrame 的高度(以像素为单位),包括任何非可见填充,在任何比例调整之前。

displayAspectWidth 可选

一个整数,表示 VideoFrame 显示时的宽度(以像素为单位)。

displayAspectHeight 可选

一个整数,表示 VideoFrame 显示时的高度(以像素为单位)。

colorSpace 可选

表示 VideoColorSpace 的对象,包含以下成员

primaries

一个字符串,表示视频样本的颜色 色域。以下之一:

  • "bt709"
  • "bt470bg"
  • "smpte170m"
transfer

一个字符串,表示传输特性。以下之一:

  • "bt709"
  • "smpte170m"
  • "iec61966-2-1"
matrix

一个字符串,表示矩阵系数。以下之一:

  • "rgb"
  • "bt709"
  • "bt470bg"
  • "smpte170m"
hardwareAcceleration 可选

关于要使用的硬件加速方法的提示。以下之一:

  • "no-preference"
  • "prefer-hardware"
  • "prefer-software"
optimizeForLatency 可选

一个布尔值。如果为 true,则表示建议选择的解码器应针对最小化必须解码的 EncodedVideoChunk 对象数量进行优化,然后才能输出 VideoFrame

flip 可选

一个布尔值。如果为 true,则应用水平镜像。默认为 false

rotation 可选

一个整数,表示顺时针旋转的角度(0、90、180 或 270)。默认为 0。任意数字(包括负数)将四舍五入到最近的四分之一圈。

注意:WebCodecs 编解码器注册表中的注册链接到一个详细说明是否以及如何填充可选的 description 成员的规范。

返回值

无(undefined)。

异常

TypeError

如果提供的 config 无效,则抛出此异常。

InvalidStateError DOMException

如果 state"closed",则抛出此错误。

NotSupportedError DOMException

如果提供的 config 有效,但用户代理无法提供可解码此配置文件的编解码器,则抛出此异常。

示例

下面的示例创建了一个新的 VideoDecoder,并使用 "vp8" 编解码器、640 像素的 codedWidth 和 480 像素的 codedHeight 来配置它。

js
const init = {
  output: handleFrame,
  error(e) {
    console.log(e.message);
  },
};

const config = {
  codec: "vp8",
  codedWidth: 640,
  codedHeight: 480,
};

let decoder = new VideoDecoder(init);
decoder.configure(config);

规范

规范
WebCodecs
# dom-videodecoder-configure

浏览器兼容性