Skip to main content
Version: Next

Browser and Video Support

Browser support

Support for WebCodecs API used by this library is relatively new but well supported in Chromium based browsers.

As of July 24, Firefox does not support the needed APIs and only video encoding/decoding is possible in Safari.

Videos are structured in form of:

  • Video container → contains several streams of data defining the video format (video, audio, tracks)
  • Encoded data (via codec) → contains binary representation of encoded (compressed) frames and audio

A container wraps encoded data of multiple types and can support multiple codecs. MFX primarily focuses on supporting MP4 and WebM (aka Matroska) video containers and a subset of codecs supported by these containers that are natively available in the browser WebCodecs API:

Video Support Table

While codec support heavily depends on the browser, mfx aims to provide support for the following container / codec pairs:

ContainerCodecEncode / Decode
MP4H.264/AVCBoth
MP4H.265/HEVCDecode(1)
MP4VP8Both
MP4VP9Both
WebMVP8Both
WebMVP9Both

Audio Support

ContainerCodecEncode / Decode
MP4OpusBoth
MP4AACBoth(2)
WebMOpusBoth
WebMVorbisBoth(2)
(1) Support for HEVC encoding is not available in WebCodec implementations as of 2024.
(2) Untested