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
string
containing a valid codec string. width
Optional-
An integer representing the width of each output
EncodedVideoChunk
in pixels, before any ratio adjustments. height
Optional-
An integer representing the height of each output
EncodedVideoChunk
in pixels, before any ratio adjustments. displayWidth
Optional-
An integer representing the intended display width of each output
EncodedVideoChunk
in pixels when displayed. displayHeight
Optional-
An integer representing the vertical dimension of each output
EncodedVideoChunk
in 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
VideoFrame
inputs 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. 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
TypeError
DOMException
-
Thrown if the provided
config
is invalid. InvalidStateError
DOMException
-
Thrown if the
state
is"closed"
. NotSupportedError
DOMException
-
Thrown if the provided
config
is 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