VideoDecoder:decode() 方法

可用性有限

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

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

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

VideoDecoder 接口的 decode() 方法将一个控制消息排队,用于解码给定的视频块。

语法

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

浏览器兼容性