VideoDecoder:decode() 方法

有限可用性

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

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

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

decode() 方法是 VideoDecoder 接口的方法,用于将控制消息排队以解码给定的视频片段。

语法

js
decode(chunk)

参数

chunk

一个 EncodedVideoChunk 对象,表示一段编码的视频。

返回值

无 (undefined).

异常

InvalidStateError DOMException

如果 state 不是 configured,则抛出此异常。

DataError DOMException

如果 chunk 无法解码,因为它依赖于其他帧进行解码,则抛出此异常。

示例

以下示例演示如何使用 decode() 方法解码从编码视频数据创建的 EncodedVideoChunk 对象。

js
const responses = await downloadVideoChunksFromServer(timestamp);
for (const response of responses) {
  const chunk = new EncodedVideoChunk({
    timestamp: response.timestamp,
    type: response.key ? "key" : "delta",
    data: new Uint8Array(response.body),
  });
  decoder.decode(chunk);
}

规范

规范
WebCodecs
# dom-videodecoder-decode

浏览器兼容性

BCD 表格仅在浏览器中加载