VideoEncoder: configure() 方法
注意:此功能在 專用 Web Workers 中可用。
VideoEncoder 介面的 configure() 方法會將編碼器的 state 更改為 "configured" ,並非同步準備編碼器,以便使用指定的引數接受 VideoEncoder 進行編碼。如果編碼器不支援指定的引數或由於其他原因無法初始化,則會透過提供給 VideoEncoder 建構函式的錯誤回撥來報告錯誤。
如果 VideoEncoder 之前已被配置,則新的配置將在所有先前任務完成後才會應用。
語法
configure(config)
引數
config-
一個包含以下成員的字典物件
codec-
包含 有效編解碼器字串 的字串。有關編解碼器字串構造的詳細資訊,請參閱 "codecs" 引數。
width可選-
一個整數,表示每個輸出
EncodedVideoChunk的寬度(以畫素為單位),在進行任何比例調整之前。 height可選-
一個整數,表示每個輸出
EncodedVideoChunk的高度(以畫素為單位),在進行任何比例調整之前。 displayWidth可選-
一個整數,表示顯示時每個輸出
EncodedVideoChunk的預期顯示寬度(以畫素為單位)。 displayHeight可選-
一個整數,表示顯示時每個輸出
EncodedVideoChunk的垂直尺寸(以畫素為單位)。 hardwareAcceleration-
一個提示,用於配置此編解碼器的硬體加速方法。可選值包括:
"no-preference""prefer-hardware""prefer-software"
bitrate-
一個整數,包含編碼影片的平均位元率(單位:位元/秒)。
framerate-
一個整數,包含預期的幀率(單位:幀/秒)。
alpha-
一個字串,指示在編碼之前是否應保留或丟棄
VideoFrame輸入的 alpha 分量。可選值包括:"discard"(預設)"keep"
scalabilityMode-
一個字串,包含 WebRTC 中定義的編碼可伸縮性模式識別符號 WebRTC。
bitrateMode可選-
一個字串,包含位元率模式。可選值包括:
"constant"-
編碼器將目標設定為恆定位元率。
"variable"(預設)-
編碼器將目標設定為可變位元率,允許為複雜訊號使用更多空間,為不那麼複雜的訊號使用更少空間。
"quantizer"-
編碼器將忽略
bitrate選項,而是使用在VideoEncoder.encode()的options引數中為每幀指定的編解碼器特定量化器值。
latencyMode可選-
一個字串,包含一個配置此編解碼器延遲行為的值。可選值包括:
"quality"(預設)-
編碼器應最佳化編碼質量。
"realtime"-
編碼器應最佳化低延遲,甚至可能丟棄幀以遵守
framerate。
返回值
無(undefined)。
異常
TypeError-
如果提供的
config無效,則丟擲此異常。 InvalidStateErrorDOMException-
如果
state為"closed",則會丟擲此異常。 NotSupportedErrorDOMException-
如果提供的
config有效,但使用者代理無法提供可解碼此配置檔案的編解碼器,則丟擲此異常。
示例
以下示例建立一個新的 VideoEncoder 並使用一些可用選項對其進行配置。
const init = {
output: handleChunk,
error(e) {
console.log(e.message);
},
};
let config = {
codec: "vp8",
width: 640,
height: 480,
bitrate: 2_000_000, // 2 Mbps
framerate: 30,
};
let encoder = new VideoEncoder(init);
encoder.configure(config);
規範
| 規範 |
|---|
| WebCodecs # dom-videoencoder-configure |
瀏覽器相容性
載入中…