VideoEncoder.configure()
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
The configure() method of the VideoEncoder interface enqueues a control message to configure the video encoder for encoding chunks.
Syntax
VideoEncoder.configure(config)
Parameters
config-
A dictionary object containing the following members:
codec-
A
stringcontaining a valid codec string. 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
stringcontaining an encoding scalability mode identifier as defined in WebRTC. bitrateMode-
A string containing a bitrate mode. One of:
"constant""variable"(default)
latencyMode-
A string containing a value that configures the latency behavior of this codec. One of:
"quality"(default)"realtime"
Return Value
None.
Exceptions
TypeErrorDOMException-
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.
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 |
Browser compatibility
BCD tables only load in the browser