A user account is required in order to edit this wiki, but we've had to disable public user registrations due to spam.

To request an account, ask an autoconfirmed user on Chat (such as one of these permanent autoconfirmed members).

Video type parameters

From WHATWG Wiki
Revision as of 06:12, 12 August 2009 by Philipj (talk | contribs) (→‎Browser Support: updated for Safari 4.0.3)
Jump to navigation Jump to search

The <video> element allows UA capability-based fallback with multiple alternative video resources designated by multiple <source> elements. The UA is expected to pick the alternative it tries to play by comparing the information given in the type attribute against its knowledge about its own playback capabilities.

The main media type designates the container format. In general, it does not say anything about codecs needed to decode the streams packaged in the container. RFC 4281 defines a codecs MIME parameter for indicating which codecs are used within the container. The parameter takes a double-quoted comma-separated list of codec identifiers. For example, the MIME type for MPEG-4 Simple Profile Level 0 video and AMR audio in a 3GPP container (.3gp) is video/3gpp; codecs="mp4v.20.9,samr".

The following list is organized by container.


MIME types: application/ogg (RFC 3534), audio/ogg, video/ogg (RFC 5334)

Filename extension: .ogg, .oga, .ogv

This is not the complete set of codecs from RFC 5334. See also http://wiki.xiph.org/index.php/MIMETypesCodecs

Video Codecs

  • Theora: theora
  • Dirac: dirac

Audio Codecs

  • Vorbis: vorbis
  • Speex: speex
  • FLAC: flac


Main MIME type: video/x-matroska

Filename extension: .mkv

Video Codecs

  • Theora: unknown
  • Dirac: unknown

Audio Codecs

  • Vorbis: unknown


MIME types: audio/mpeg (RFC 3003), video/mpeg (RFC 2046)

Filename extension: .mp1, .mp2, .mp3, .mpg, .mpeg

There are no registered codecs parameters.


Main MIME type: video/mp4 (RFC 4337)

Filename extension: .mp4

Video Codecs

  • H.264 Baseline: avc1.42E0xx, where xx is the AVC level
  • H.264 Main: avc1.4D40xx, where xx is the AVC level
  • H.264 High: avc1.6400xx, where xx is the AVC level
  • MPEG-4 Visual Simple Profile Level 0: mp4v.20.9
  • MPEG-4 Visual Advanced Simple Profile Level 0: mp4v.20.240

Audio Codecs

  • Low-Complexity AAC: mp4a.40.2


Main MIME type: video/3gpp (RFC 3839)

Filename extension: .3gp

Video Codecs

  • MPEG-4 Visual Simple Profile Level 0: mp4v.20.9

Audio Codecs

  • Low-Complexity AAC: mp4a.40.2
  • AMR: samr


Main MIME type: video/x-ms-wmv

Filename extension: .wmv

Video Codecs

  • Windows Media Video 8 (4CC: WMV2): unknown
  • Windows Media Video 9 / VC-1 Main (4CC: WMV3): unknown
  • Windows Media Video 9 Advanced / VC-1 Advanced (4CC: WVC1): unknown

Audio Codecs

  • Windows Media Audio 2: unknown
  • Windows Media Audio 10 Professional: unknown

Real Media

Main MIME type: application/vnd.rn-realmedia

Filename extension: .rm

Is this single-vendor format even relevant here?


Main MIME type: audio/x-wav

Filename extension: .wav

RFC 2361 lists parameters to be used on the form audio/vnd.wave;codec=x. These are also used for the codecs parameter.

Browser Support

The table below lists the results of canPlayType(type) for different browsers. It does not necessary relate to what the browsers actually can play.

Note: The spec has replaced "no" with "", but not all implementations have updated to reflect this yet.

MIME Firefox 3.5 Safari 4 Chrome 3
application/ogg "maybe" "" ""
application/ogg; codecs=bogus "no" "" ""
application/mp4 "no" "" ""
application/mp4; codecs=bogus "no" "" ""
application/octet-stream "no" "" ""
audio/3gpp "no" "" ""
audio/3gpp2 "no" "" ""
audio/aac "no" "maybe" ""
audio/x-aac "no" "maybe" ""
audio/aiff "no" "maybe" ""
audio/x-aiff "no" "maybe" ""
audio/ac3 "no" "maybe" ""
audio/x-ac3 "no" "maybe" ""
audio/basic "no" "maybe" ""
audio/flac "no" "" ""
audio/x-flac "no" "" ""
audio/mid "no" "maybe" ""
audio/midi "no" "maybe" ""
audio/x-midi "no" "maybe" ""
audio/mpeg "no" "maybe" ""
audio/x-mpeg "no" "maybe" ""
audio/mpegurl "no" "maybe" ""
audio/x-mpegurl "no" "maybe" ""
audio/mp4 "no" "maybe" "maybe"
audio/mp4; codecs=bogus "no" "probably" "maybe"
audio/ogg "maybe" "" "maybe"
audio/ogg; codecs=bogus "no" "" "maybe"
audio/wav "maybe" "maybe" ""
audio/wav; codecs=0 "maybe" "probably" ""
audio/wav; codecs=1 "probably" "probably" ""
audio/wav; codecs=2 "no" "probably" ""
audio/wave "maybe" "" ""
audio/wave; codecs=0 "maybe" "" ""
audio/wave; codecs=1 "probably" "" ""
audio/wave; codecs=2 "no" "" ""
audio/x-wav "maybe" "maybe" ""
audio/x-wav; codecs=0 "maybe" "probably" ""
audio/x-wav; codecs=1 "probably" "probably" ""
audio/x-wav; codecs=2 "no" "probably" ""
audio/x-pn-wav "maybe" "" ""
audio/x-pn-wav; codecs=0 "maybe" "" ""
audio/x-pn-wav; codecs=1 "probably" "" ""
audio/x-pn-wav; codecs=2 "no" "" ""
video/3gpp "no" "maybe" ""
video/3gpp2 "no" "maybe" ""
video/avi "no" "maybe" ""
video/mpeg "no" "maybe" ""
video/x-mpeg "no" "maybe" ""
video/mp4 "no" "maybe" "maybe"
video/mp4; codecs=bogus "no" "probably" "maybe"
video/msvideo "no" "maybe" ""
video/x-msvideo "no" "maybe" ""
video/quicktime "no" "maybe" ""
video/ogg "maybe" "" "maybe"
video/ogg; codecs=bogus "no" "" "maybe"
video/mp4; codecs="avc1.42E01E, mp4a.40.2" "no" "probably" "probably"
video/mp4; codecs="avc1.58A01E, mp4a.40.2" "no" "probably" "probably"
video/mp4; codecs="avc1.4D401E, mp4a.40.2" "no" "probably" "probably"
video/mp4; codecs="avc1.64001E, mp4a.40.2" "no" "probably" "probably"
video/mp4; codecs="mp4v.20.8, mp4a.40.2" "no" "probably" "maybe"
video/mp4; codecs="mp4v.20.240, mp4a.40.2" "no" "probably" "maybe"
video/3gpp; codecs="mp4v.20.8, samr" "no" "probably" ""
video/ogg; codecs="theora, vorbis" "probably" "" "probably"
video/ogg; codecs="theora, speex" "no" "" "maybe"
audio/ogg; codecs=vorbis "probably" "" "probably"
audio/ogg; codecs=speex "no" "" "maybe"
audio/ogg; codecs=flac "no" "" "maybe"
video/ogg; codecs="dirac, vorbis" "no" "" "maybe"
video/x-matroska; codecs="theora, vorbis" "no" "" ""

MIME types used in the wild (in type="")

MIME type defaults in Web servers