MediaCapabilities.encodingInfo()

The MediaCapabilities.encodingInfo() method, part of the MediaCapabilities interface of the Media Capabilities API, returns a promise with the tested media configuration's MediaCapabilitiesInfo; this contains the three Boolean properties supported, smooth, and powerefficient, which describe how compatible the device is with the type of media.

Syntax

mediaCapabilities.encodingInfo(mediaEncodingConfiguration)

Parameters

mediaEncodingConfiguration
A valid MediaEncodingConfiguration dictionary containing a valid media encoding type of record or transmission and a valid media configuration: either an AudioConfiguration or VideoConfiguration dictionary.

Return value

A Promise fulfilling with a MediaCapabilitiesInfo interface containing three Boolean attributes:

  • supported
  • smooth
  • powerEfficient

Exceptions

A TypeError is raised if the MediaConfiguration passed to the encodingInfo() method is invalid, either because the type is not video or audio, the contentType is not a valid codec MIME type, or any other error in the media configuration passed to the method, including omitting any of the media encoding configuration elements.

Example

//Create media configuration to be tested
const mediaConfig = {
    type : 'record', // or 'transmission'
    video : {
        contentType : "video/webm;codecs=vp8.0", // valid content type
        width : 1920,     // width of the video
        height : 1080,    // height of the video
        bitrate : 120000, // number of bits used to encode 1s of video
        framerate : 48   // number of frames making up that 1s.
     } 
}; 

// check support and performance 
navigator.mediaCapabilities.encodingInfo(mediaConfig).then(result => {
    console.log('This configuration is ' + 
        (result.supported ? '' : 'not ') + 'supported, ' +
        (result.smooth ? '' : 'not ') + 'smooth, and ' +
        (result.powerEfficient ? '' : 'not ') + 'power efficient.')
});

Specifications

Specification Status Comment
Media Capabilities
The definition of 'encodingInfo()' in that specification.
Draft Initial definition

Browser compatibility

No compatibility data found. Please contribute data for "api.MediaCapabilities.encodingInfo" (depth: 1) to the MDN compatibility data repository.

See also

Document Tags and Contributors

Contributors to this page: chrisdavidmills, estelle
Last updated by: chrisdavidmills,