MediaConfiguration

The MediaConfiguration MediaCapabilities dictionary of the Media Capabilities API describes how media and audio files must be configured, or defined, to be passed as a parameter of the MediaCapabilities.encodingInfo() and MediaCapabilities.encodingInfo() methods.

Properties

A valid configuration includes a valid encoding configuration type or decoding configuration type and a valid audio configuration or video configuration. If you plan on querying encoding information, set the media type to record or transmission.

For decoding, set the type to file or media-source.

If the media is an audio file, the audio configuration must include a valid audio MIME type as contentType, the number of channels, the bitrate, and the sample rate. Video configurations mush include a valid video MIME type as contentType, the bitrate, and framerate, along with the width and the height of the video file. All of these must be present, as in the examples below, or a TypeError will occur.

A valid media decoding configuration, to be submitted as the parameter for mediaCapabilities.decodingInfo() method, has it's `type` set as:

  • file: For plain playback file.
  • media-source: For media source files.

A valid media encoding configuration, to be submitted as the parameter for mediaCapabilities.encodingInfo() method, has it's `type` set as:

  • record: For recording media.
  • transmission: For media to be electronically transmitted.

A valid audio configuration includes:

  • contentType: Valid audio MIME type.
  • channels:  Number of channels used by the audio track.
  • bitrate: Number of bits used to encode one second of the audio file.
  • samplerate: Number of audio samples making up one second of the audio file.

A valid video configuration includes:

  • contentType: Valid video MIME type.
  • width: Width of the video.
  • height: Height of the video.
  • bitrate: Number of bits used to encode one second of the video file.
  • framerate: Number of frames making up one second of video playback.

Example

//Create a video configuration to be tested
const videoDecoderConfig = {
  type : 'file', // 'record', 'transmission', or 'media-source'
  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.
  }
};

const audioEncoderConfig = { 
  type : 'file', // 'record', 'transmission', or 'media-source'
  audio : {
    contentType : "audio/ogg", // valid content type 
    channels : 2,     // audio channels used by the track
    bitrate : 132700, // number of bits used to encode 1s of audio 
    samplerate : 5200 // number of audio samples making up that 1s. 
  }
};

Specifications

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

Browser compatibility

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

See also

Document Tags and Contributors

Contributors to this page: kamil.rzeszotarski, chrisdavidmills, estelle
Last updated by: kamil.rzeszotarski,