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.
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.
configure(config)
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"
None.
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.
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);
Specification |
---|
WebCodecs # dom-videoencoder-configure |
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
configure |
94 |
94 |
No |
No |
80 |
No |
94 |
94 |
No |
66 |
No |
17.0 |
© 2005–2021 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/VideoEncoder/configure