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 |
浏览器兼容性
加载中…