VideoEncoder: configure() method - Web APIs | MDN
Syntax
Parameters
config-
A dictionary object containing the following members:
codec-
A string containing a valid codec string. See "codecs" parameter for details on codec string construction.
widthOptional-
An integer representing the width of each output
EncodedVideoChunkin pixels, before any ratio adjustments. heightOptional-
An integer representing the height of each output
EncodedVideoChunkin pixels, before any ratio adjustments. displayWidthOptional-
An integer representing the intended display width of each output
EncodedVideoChunkin pixels when displayed. displayHeightOptional-
An integer representing the vertical dimension of each output
EncodedVideoChunkin pixels when displayed. hardwareAcceleration-
A hint that configures the hardware acceleration method of this codec. One of:
"no-preference""prefer-hardware""prefer-software"
bitrate-
An integer containing the average bitrate of the encoded video in units of bits per second.
framerate-
An integer containing the expected frame rate in frames per second.
alpha-
A string indicating whether the alpha component of the
VideoFrameinputs should be kept or discarded prior to encoding. One of:"discard"(default)"keep"
scalabilityMode-
A string containing an encoding scalability mode identifier as defined in WebRTC.
bitrateModeOptional-
A string containing a bitrate mode. One of:
"constant"-
The encoder will target constant bitrate.
"variable"(default)-
The encoder will target a variable bitrate, allowing more space to be used for complex signals and less space for less complex signals.
"quantizer"-
The encoder will disregard the
bitrateoption and instead it will use codec-specific quantizer values specified for each frame in theoptionsparameter toVideoEncoder.encode().
latencyModeOptional-
A string containing a value that configures the latency behavior of this codec. One of:
"quality"(default)-
The encoder should optimize for encoding quality.
"realtime"-
The encoder should optimize for low latency and may even drop frames to honor
framerate.
Return value
None (undefined).
Exceptions
TypeError-
Thrown if the provided
configis invalid. InvalidStateErrorDOMException-
Thrown if the
stateis"closed". NotSupportedErrorDOMException-
Thrown if the provided
configis valid but the user agent cannot provide a codec that can decode this profile.
Examples
The following example creates a new VideoEncoder and configures it with some of the available options.
js
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);
Specifications
| Specification |
|---|
| WebCodecs # dom-videoencoder-configure |