web api static method
VideoEncoder: isConfigSupported() static method
Secure contextAvailable in workers
The isConfigSupported() static method of the VideoEncoder interface checks if VideoEncoder can be successfully configured with the given config.
Syntax
VideoEncoder.isConfigSupported(config)
Parameters
config- : The dictionary object accepted by
configure
- : The dictionary object accepted by
Return value
A Promise that resolves with an object containing the following members:
supported- : A boolean value which is
trueif the given config is supported by the encoder.
- : A boolean value which is
config- : A copy of the given config with all the fields recognized by the encoder.
Exceptions
TypeError- : Thrown if the provided
configis invalid; that is, if doesn’t have required values (such as an emptycodecfield) or has invalid values (such as a negativewidth)
- : Thrown if the provided
Examples
The following example tests if the browser supports accelerated and un-accelerated versions of several video codecs.
const codecs = [
"avc1.420034",
"hvc1.1.6.L123.00",
"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
SpecificationsStandards references are available on the canonical MDN page.
Browser compatibility
Browser compatibilityCompatibility data is available on the canonical MDN page.