VideoEncoder: VideoEncoder() constructor
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
Note: This feature is available in Dedicated Web Workers.
The VideoEncoder()
constructor creates a new VideoEncoder
object with the provided options.output
callback assigned as the output callback, the provided options.error
callback as the error callback, and sets the VideoEncoder.state
to "unconfigured"
.
Syntax
new VideoEncoder(options)
Parameters
options
-
An object containing two required callbacks.
output
-
A callback which takes an
EncodedVideoChunk
object as the first argument, and an optional metadata object as the second. The metadata object has three members:decoderConfig
Optional-
An object containing:
codec
-
A string containing a valid codec string.
description
Optional-
An
ArrayBuffer
, aTypedArray
, or aDataView
containing a sequence of codec-specific bytes, commonly known as "extradata". codedWidth
Optional-
An integer representing the width of the
VideoFrame
in pixels, potentially including non-visible padding, and prior to considering potential ratio adjustments. codedHeight
Optional-
An integer representing the height of the
VideoFrame
in pixels, potentially including non-visible padding, and prior to considering potential ratio adjustments. displayAspectWidth
Optional-
An integer representing the horizontal dimension of the
VideoFrame
's aspect ratio when displayed. displayAspectHeight
Optional-
An integer representing the vertical dimension of the
VideoFrame
's aspect ratio when displayed. colorSpace
Optional-
An object you pass to the
VideoColorSpace
constructor as theinit
argument, configuring theVideoFrame.colorSpace
forVideoFrames
associated with thisdecoderConfig
object. IfcolorSpace
exists, the provided values will override any in-band values from the bitstream. hardwareAcceleration
Optional-
A string that configures hardware acceleration for this codec. Defaults to
"no-preference"
. Options are:"no-preference"
"prefer-hardware"
"prefer-software"
optimizeForLatency
Optional-
A boolean representing whether the selected decoder should be configured to minimize the number of
EncodedVideoChunks
that have to be decoded before aVideoFrame
is output.
svc
Optional-
An optional object with only one member:
temporalLayerId
, which is a number that identifies the temporal layer for the associatedEncodedVideoChunk
. alphaSideData
Optional-
An
ArrayBuffer
, aTypedArray
, or aDataView
that contains theEncodedVideoChunk
's extra alpha channel data.
error
-
A callback which takes an
Error
object as its only argument.
Examples
In the following example a VideoEncoder
is created with the two required callback functions, one to deal with the encoded frame and the other to handle errors.
const videoEncoder = new VideoEncoder({
output(chunk, metadata) {
console.log(chunk.timestamp);
console.log(chunk.byteLength);
console.log(JSON.stringify(metadata));
},
error(error) {
console.log(error);
},
});
Specifications
Specification |
---|
WebCodecs # dom-videoencoder-videoencoder |
Browser compatibility
BCD tables only load in the browser