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 emptycodec
field) or has invalid values (such as a negativewidth
)
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
Specification |
---|
WebCodecs # dom-videoencoder-isconfigsupported |
Browser compatibility
BCD tables only load in the browser