VideoEncoder: encode() method

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

The encode() method of the VideoEncoder interface asynchronously encodes a VideoFrame. Encoded data (EncodedVideoChunk) or an error will eventually be returned via the callbacks provided to the VideoEncoder constructor.

Syntax

js

encode(frame)
encode(frame, options)

Parameters

frame

A VideoFrame object.

options Optional

An object containing the following member:

keyFrame

A boolean, defaulting to false giving the user agent flexibility to decide if this frame should be encoded as a key frame. If true this indicates that the given frame must be encoded as a key frame.

Return value

None (undefined).

Exceptions

InvalidStateError DOMException

Thrown if the state is not "configured".

DataError DOMException

Thrown if the chunk cannot be decoded due to relying on other frames for decoding.

Examples

In the following example encode is passed a VideoFrame, and the options parameter indicating that this frame should be considered a keyframe.

js

encoder.encode(frame, { keyFrame: true });

Specifications

Specification
WebCodecs
# dom-videoencoder-encode

Browser compatibility

BCD tables only load in the browser