W3cubDocs

/Web APIs

VideoEncoder: isConfigSupported() static method

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

The isConfigSupported() static method of the VideoEncoder interface checks if VideoEncoder can be successfully configured with the given config.

Syntax

js

VideoEncoder.isConfigSupported(config)

Parameters

config

The dictionary object accepted by VideoEncoder.configure

Return value

A Promise that resolves with an object containing the following members:

supported

A boolean value which is true if the given config is supported by the encoder.

config

A copy of the given config with all the fields recognized by the encoder.

Exceptions

TypeError

Thrown if the provided config is invalid; that is, if doesn't have required values (such as an empty codec field) or has invalid values (such as a negative width)

Examples

The following example tests if the browser supports accelerated and un-accelerated versions of several video codecs.

js

const codecs = ["avc1.42001E", "vp8", "vp09.00.10.08", "av01.0.04M.08"];
const accelerations = ["prefer-hardware", "prefer-software"];

const configs = [];
for (const codec of codecs) {
  for (const acceleration of accelerations) {
    configs.push({
      codec,
      hardwareAcceleration: acceleration,
      width: 1280,
      height: 720,
      bitrate: 2_000_000,
      bitrateMode: "constant",
      framerate: 30,
      not_supported_field: 123,
    });
  }
}

for (const config of configs) {
  const support = await VideoEncoder.isConfigSupported(config);
  console.log(
    `VideoEncoder's config ${JSON.stringify(support.config)} support: ${
      support.supported
    }`,
  );
}

Specifications

Browser compatibility

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet
isConfigSupported_static 94 94 No No 80 16.4 94 94 No 66 16.4 17.0

© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/VideoEncoder/isConfigSupported_static