The MediaEncodingConfiguration dictionary of the Media Capabilities API is used to define the type of media being tested when calling MediaCapabilities.encodingInfo() to query whether a specific media configuration is supported, smooth, and/or power efficient.


A MediaEncodingConfiguration dictionary takes two properties:

  • type — the type of media being tested; takes one of two values:
    • record — Represents a configuration for recording of media, e.g. using MediaRecorder.
    • transmission — Represents a configuration meant to be transmitted over electronic means (e.g. using RTCPeerConnection).
  • A media configuration — a VideoConfiguration AudioConfiguration dictionary.


//Create media configuration to be tested
const mediaConfig = {
    type : 'record', // or 'transmission'
    video : {
        contentType : "video/webm;codecs=vp8", // valid content type
        width : 800,     // width of the video
        height : 600,    // height of the video
        bitrate : 10000, // number of bits used to encode 1s of video
        framerate : 30   // 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.')


Specification Status Comment
Media Capabilities
The definition of 'MediaEncodingConfiguration' in that specification.
Draft Initial definition

Browser compatibility

No compatibility data found for api.MediaEncodingConfiguration.
Check for problems with this page or contribute missing data to mdn/browser-compat-data.

See also