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. Please contribute data for "api.MediaEncodingConfiguration" (depth: 1) to the MDN compatibility data repository.

See also