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

瀏覽器相容性