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 interface of the WebCodecs API encodes VideoFrame objects into EncodedVideoChunks.
VideoEncoder()Creates a new VideoEncoder object.
Inherits properties from its parent, EventTarget.
VideoEncoder.encodeQueueSize Read only
An integer representing the number of encode queue requests.
VideoEncoder.state Read only
Represents the state of the underlying codec and whether it is configured for encoding.
dequeueFires to signal a decrease in VideoEncoder.encodeQueueSize.
VideoEncoder.isConfigSupported()Returns a promise indicating whether the provided VideoEncoderConfig is supported.
Inherits methods from its parent, EventTarget.
VideoEncoder.configure()Asynchronously prepares the encoder to accept video frames for encoding with the specified parameters.
VideoEncoder.encode()Asynchronously encodes a VideoFrame.
VideoEncoder.flush()Returns a promise that resolves once all pending encodes have been completed.
VideoEncoder.reset()Cancels all pending encodes and callbacks.
VideoEncoder.close()Ends all pending work and releases system resources.
| Specification |
|---|
| WebCodecs> # videoencoder-interface> |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
VideoEncoder |
94 | 94 | 130 | 80 | 16.4 | 94 | No | 66 | 16.4 | 17.0 | 94 | 16.4 |
VideoEncoder |
94 | 94 | 130 | 80 | 16.4 | 94 | No | 66 | 16.4 | 17.0 | 94 | 16.4 |
close |
94 | 94 | 130 | 80 | 16.4 | 94 | No | 66 | 16.4 | 17.0 | 94 | 16.4 |
configure |
94 | 94 | 130 | 80 | 16.4 | 94 | No | 66 | 16.4 | 17.0 | 94 | 16.4 |
dequeue_event |
106 | 106 | 130 | 92 | 16.4 | 106 | No | 72 | 16.4 | 20.0 | 106 | 16.4 |
encode |
94 | 94 | 130 | 80 | 16.4 | 94 | No | 66 | 16.4 | 17.0 | 94 | 16.4 |
encodeQueueSize |
94 | 94 | 130 | 80 | 16.4 | 94 | No | 66 | 16.4 | 17.0 | 94 | 16.4 |
flush |
94 | 94 | 130 | 80 | 16.4 | 94 | No | 66 | 16.4 | 17.0 | 94 | 16.4 |
isConfigSupported_static |
94 | 94 | 130 | 80 | 16.4 | 94 | No | 66 | 16.4 | 17.0 | 94 | 16.4 |
reset |
94 | 94 | 130 | 80 | 16.4 | 94 | No | 66 | 16.4 | 17.0 | 94 | 16.4 |
state |
94 | 94 | 130 | 80 | 16.4 | 94 | No | 66 | 16.4 | 17.0 | 94 | 16.4 |
Video processing with WebCodecs
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/VideoEncoder