VideoDecoder:configure() 方法

有限可用性

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

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

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

configure() 方法是 VideoDecoder 接口的一个方法,它会将一个控制消息入队,以配置视频解码器以解码块。

语法

js
configure(config)

参数

config

包含以下成员的对象

codec

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

description 可选

一个ArrayBufferTypedArrayDataView,其中包含一系列编解码器特定字节,通常称为额外数据。

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,则表示所选解码器应进行优化以最大程度地减少在输出VideoFrame之前必须解码的EncodedVideoChunk对象的数量。

注意: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

浏览器兼容性

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