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

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The VideoDecoder interface of the WebCodecs API decodes chunks of video.


VideoDecoder() Experimental

Creates a new VideoDecoder object.

Instance properties

Inherits properties from its parent, EventTarget.

VideoDecoder.decodeQueueSize Read only Experimental

An integer representing the number of decode queue requests.

VideoDecoder.state Read only Experimental

Indicates whether the underlying codec is configured for decoding.


dequeue Experimental

Fires to signal a decrease in VideoDecoder.decodeQueueSize.

Static methods

VideoDecoder.isConfigSupported() Experimental

Returns a promise indicating whether the provided VideoDecoderConfig is supported.

Instance methods

Inherits methods from its parent, EventTarget.

VideoDecoder.configure() Experimental

Enqueues a control message to configure the video decoder for decoding chunks.

VideoDecoder.decode() Experimental

Enqueues a control message to decode a given chunk of video.

VideoDecoder.flush() Experimental

Returns a promise that resolves once all pending messages in the queue have been completed.

VideoDecoder.reset() Experimental

Resets all states including configuration, control messages in the control message queue, and all pending callbacks.

VideoDecoder.close() Experimental

Ends all pending work and releases system resources.


# videodecoder-interface

Browser compatibility

BCD tables only load in the browser

See also