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: Difference between revisions
No edit summary |
(→MPEG-4) |
||
(8 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
The <code> | The <code><video></code> element allows UA capability-based fallback with multiple alternative video resources designated by multiple <code><source></code> elements. The UA is expected to pick the alternative it tries to play by comparing the information given in the <code>type</code> attribute against its knowledge about its own playback capabilities. The same information is also exposed to scripts via the <code>canPlayType</code> function. | ||
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. [http://www.ietf.org/rfc/rfc4281.txt RFC 4281] defines a <code>codecs</code> 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 <code>video/3gpp; codecs="mp4v.20.9,samr"</code>. | 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. [http://www.ietf.org/rfc/rfc4281.txt RFC 4281] defines a <code>codecs</code> 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 <code>video/3gpp; codecs="mp4v.20.9,samr"</code>. | ||
The following list is organized by container. | The following list is organized by container, including only types that at least one browser supports. | ||
== Ogg == | == Ogg == | ||
Line 23: | Line 23: | ||
* FLAC: <code>flac</code> | * FLAC: <code>flac</code> | ||
== | == WebM == | ||
MIME types: <code>audio/webm</code>, <code>video/webm</code> | |||
Filename extension: <code>. | Filename extension: <code>.webm</code> | ||
=== Video Codecs === | === Video Codecs === | ||
* | * VP8: <code>vp8</code>, <code>vp8.0</code> (these exact strings, not e.g. <code>vp8.</code> or <code>vp8.00</code>) | ||
=== Audio Codecs === | === Audio Codecs === | ||
* Vorbis: | * Vorbis: <code>vorbis</code> | ||
== MPEG == | == MPEG == | ||
Line 45: | Line 44: | ||
== MPEG-4 == | == MPEG-4 == | ||
MIME types: <code>audio/mp4</code>, <code>video/mp4</code> ([http://www.rfc-editor.org/rfc/rfc4337.txt RFC 4337]) | |||
Filename extension: <code>.mp4</code> | Filename extension: <code>.mp4</code> | ||
Line 75: | Line 74: | ||
* AMR: <code>samr</code> | * AMR: <code>samr</code> | ||
== | == WAVE == | ||
MIME types: <code>audio/wave</code>, <code>audio/wav</code>, <code>audio/x-wav</code> | |||
Filename extension: <code>. | Filename extension: <code>.wav</code> | ||
=== Audio Codecs === | === Audio Codecs === | ||
[http://www.rfc-editor.org/rfc/rfc2361.txt RFC 2361] lists parameters to be used on the form <code>audio/vnd.wave;codec=x</code>. These are also used for the <code>codecs</code> parameter. | [http://www.rfc-editor.org/rfc/rfc2361.txt RFC 2361] lists parameters to be used on the form <code>audio/vnd.wave;codec=x</code>. These are also used for the <code>codecs</code> parameter. | ||
Line 108: | Line 86: | ||
The table below lists the results of <code>canPlayType(type)</code> for different browsers. It does not necessary relate to what the browsers actually ''can'' play. | The table below lists the results of <code>canPlayType(type)</code> for different browsers. It does not necessary relate to what the browsers actually ''can'' play. | ||
<!-- | <!-- | ||
Generated with http://software.hixie.ch/utilities/js/live-dom-viewer/saved/ | Generated with http://software.hixie.ch/utilities/js/live-dom-viewer/saved/786 | ||
Save the mime types into types.txt and the results for each browser in *.txt, produce the table (sans header) with: | Save the mime types into types.txt and the results for each browser in *.txt, produce the table (sans header) with: | ||
$ paste types.txt firefox.txt safari.txt | $ paste types.txt opera.txt firefox.txt chromium.txt safari.txt ie.txt | awk -F\\t '{printf "| <code>%s</code>\n| %s\n| %s\n| %s\n|-\n", $1, $2, $3, $4}' | sed 's/| ""/| style="background:LightPink" | ""/;s/| "no"/| style="background:LightPink" | "no"/;s/| "maybe"/| style="background:SkyBlue" | "maybe"/;s/| "probably"/| style="background:GreenYellow" | "probably"/' | ||
--> | --> | ||
Line 123: | Line 99: | ||
{| style="text-align:center" | {| style="text-align:center" | ||
! MIME | ! MIME | ||
! width="100" | | ! width="100" | Opera 11 <!-- Opera/9.80 (X11; Linux i686; U; en) Presto/2.7.62 Version/11.00 --> | ||
! width="100" | | ! width="100" | Firefox 4 <!-- Mozilla/5.0 (X11; Linux i686; rv:2.0b9) Gecko/20100101 Firefox/4.0b9 --> | ||
! width="100" | | ! width="100" | Chromium 9 <!-- Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/534.13 (KHTML, like Gecko) Chrome/9.0.595.0 Safari/534.13 --> | ||
! width="100" | Safari 5 <!-- Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/533.19.4 (KHTML, like Gecko) Version/5.0.3 Safari/533.19.4 --> | |||
! width="100" | IE 9 <!-- Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0) --> | |||
|- | |- | ||
| <code>application/ogg</code> | | <code>application/ogg</code> | ||
| style="background:SkyBlue" | "maybe" | | style="background:SkyBlue" | "maybe" | ||
| style="background:LightPink" | " | | style="background:SkyBlue" | "maybe" | ||
| style="background:SkyBlue" | "maybe" | |||
| style="background:LightPink" | "" | |||
| style="background:LightPink" | "" | | style="background:LightPink" | "" | ||
|- | |- | ||
| <code>application/ogg; codecs=bogus</code> | | <code>application/ogg; codecs=bogus</code> | ||
| style="background:LightPink" | " | | style="background:LightPink" | "" | ||
| style="background:LightPink" | " | | style="background:LightPink" | "" | ||
| style="background:SkyBlue" | "maybe" | |||
| style="background:LightPink" | "" | |||
| style="background:LightPink" | "" | | style="background:LightPink" | "" | ||
|- | |- | ||
| <code>application/mp4</code> | | <code>application/mp4</code> | ||
| style="background:LightPink" | " | | style="background:LightPink" | "" | ||
| style="background:LightPink" | " | | style="background:LightPink" | "" | ||
| style="background:LightPink" | "" | |||
| style="background:LightPink" | "" | |||
| style="background:LightPink" | "" | | style="background:LightPink" | "" | ||
|- | |- | ||
| <code>application/mp4; codecs=bogus</code> | | <code>application/mp4; codecs=bogus</code> | ||
| style="background:LightPink" | " | | style="background:LightPink" | "" | ||
| style="background:LightPink" | " | | style="background:LightPink" | "" | ||
| style="background:LightPink" | "" | |||
| style="background:LightPink" | "" | |||
| style="background:LightPink" | "" | | style="background:LightPink" | "" | ||
|- | |- | ||
| <code>application/octet-stream</code> | | <code>application/octet-stream</code> | ||
| style="background:LightPink" | " | | style="background:SkyBlue" | "maybe" | ||
| style="background:LightPink" | " | | style="background:LightPink" | "" | ||
| style="background:LightPink" | "" | |||
| style="background:LightPink" | "" | |||
| style="background:SkyBlue" | "maybe" | |||
|- | |||
| <code>application/octet-stream; codecs=bogus</code> | |||
| style="background:LightPink" | "" | |||
| style="background:LightPink" | "" | |||
| style="background:LightPink" | "" | |||
| style="background:LightPink" | "" | |||
| style="background:LightPink" | "" | | style="background:LightPink" | "" | ||
|- | |- | ||
| <code>audio/3gpp</code> | | <code>audio/3gpp</code> | ||
| style="background:LightPink" | " | | style="background:LightPink" | "" | ||
| style="background:LightPink" | " | | style="background:LightPink" | "" | ||
| style="background:LightPink" | "" | |||
| style="background:LightPink" | "" | |||
| style="background:LightPink" | "" | | style="background:LightPink" | "" | ||
|- | |- | ||
| <code>audio/3gpp2</code> | | <code>audio/3gpp2</code> | ||
| style="background:LightPink" | " | | style="background:LightPink" | "" | ||
| style="background:LightPink" | " | | style="background:LightPink" | "" | ||
| style="background:LightPink" | "" | |||
| style="background:LightPink" | "" | |||
| style="background:LightPink" | "" | | style="background:LightPink" | "" | ||
|- | |- | ||
| <code>audio/aac</code> | | <code>audio/aac</code> | ||
| style="background:LightPink" | " | | style="background:LightPink" | "" | ||
| style="background: | | style="background:LightPink" | "" | ||
| style="background:LightPink" | "" | |||
| style="background:SkyBlue" | "maybe" | |||
| style="background:LightPink" | "" | | style="background:LightPink" | "" | ||
|- | |- | ||
| <code>audio/x-aac</code> | | <code>audio/x-aac</code> | ||
| style="background:LightPink" | " | | style="background:LightPink" | "" | ||
| style="background: | | style="background:LightPink" | "" | ||
| style="background:LightPink" | "" | |||
| style="background:SkyBlue" | "maybe" | |||
| style="background:LightPink" | "" | | style="background:LightPink" | "" | ||
|- | |- | ||
| <code>audio/aiff</code> | | <code>audio/aiff</code> | ||
| style="background:LightPink" | " | | style="background:LightPink" | "" | ||
| style="background: | | style="background:LightPink" | "" | ||
| style="background:LightPink" | "" | |||
| style="background:SkyBlue" | "maybe" | |||
| style="background:LightPink" | "" | | style="background:LightPink" | "" | ||
|- | |- | ||
| <code>audio/x-aiff</code> | | <code>audio/x-aiff</code> | ||
| style="background:LightPink" | " | | style="background:LightPink" | "" | ||
| style="background: | | style="background:LightPink" | "" | ||
| style="background:LightPink" | "" | |||
| style="background:SkyBlue" | "maybe" | |||
| style="background:LightPink" | "" | | style="background:LightPink" | "" | ||
|- | |- | ||
| <code>audio/ac3</code> | | <code>audio/ac3</code> | ||
| style="background:LightPink" | " | | style="background:LightPink" | "" | ||
| style="background: | | style="background:LightPink" | "" | ||
| style="background:LightPink" | "" | |||
| style="background:SkyBlue" | "maybe" | |||
| style="background:LightPink" | "" | | style="background:LightPink" | "" | ||
|- | |- | ||
| <code>audio/x-ac3</code> | | <code>audio/x-ac3</code> | ||
| style="background:LightPink" | " | | style="background:LightPink" | "" | ||
| style="background: | | style="background:LightPink" | "" | ||
| style="background:LightPink" | "" | |||
| style="background:SkyBlue" | "maybe" | |||
| style="background:LightPink" | "" | | style="background:LightPink" | "" | ||
|- | |- | ||
| <code>audio/basic</code> | | <code>audio/basic</code> | ||
| style="background:LightPink" | " | | style="background:LightPink" | "" | ||
| style="background: | | style="background:LightPink" | "" | ||
| style="background:LightPink" | "" | |||
| style="background:SkyBlue" | "maybe" | |||
| style="background:LightPink" | "" | | style="background:LightPink" | "" | ||
|- | |- | ||
| <code>audio/flac</code> | | <code>audio/flac</code> | ||
| style="background:LightPink" | " | | style="background:LightPink" | "" | ||
| style="background:LightPink" | " | | style="background:LightPink" | "" | ||
| style="background:LightPink" | "" | |||
| style="background:LightPink" | "" | |||
| style="background:LightPink" | "" | | style="background:LightPink" | "" | ||
|- | |- | ||
| <code>audio/x-flac</code> | | <code>audio/x-flac</code> | ||
| style="background:LightPink" | " | | style="background:LightPink" | "" | ||
| style="background:LightPink" | " | | style="background:LightPink" | "" | ||
| style="background:LightPink" | "" | |||
| style="background:LightPink" | "" | |||
| style="background:LightPink" | "" | | style="background:LightPink" | "" | ||
|- | |- | ||
| <code>audio/mid</code> | | <code>audio/mid</code> | ||
| style="background:LightPink" | " | | style="background:LightPink" | "" | ||
| style="background: | | style="background:LightPink" | "" | ||
| style="background:LightPink" | "" | |||
| style="background:SkyBlue" | "maybe" | |||
| style="background:LightPink" | "" | | style="background:LightPink" | "" | ||
|- | |- | ||
| <code>audio/midi</code> | | <code>audio/midi</code> | ||
| style="background:LightPink" | " | | style="background:LightPink" | "" | ||
| style="background: | | style="background:LightPink" | "" | ||
| style="background:LightPink" | "" | |||
| style="background:SkyBlue" | "maybe" | |||
| style="background:LightPink" | "" | | style="background:LightPink" | "" | ||
|- | |- | ||
| <code>audio/x-midi</code> | | <code>audio/x-midi</code> | ||
| style="background:LightPink" | " | | style="background:LightPink" | "" | ||
| style="background: | | style="background:LightPink" | "" | ||
| style="background:LightPink" | "" | |||
| style="background:SkyBlue" | "maybe" | |||
| style="background:LightPink" | "" | | style="background:LightPink" | "" | ||
|- | |- | ||
| <code>audio/mpeg</code> | | <code>audio/mpeg</code> | ||
| style="background:LightPink" | "" | | style="background:LightPink" | "" | ||
| style="background:LightPink" | "" | |||
| style="background:LightPink" | "" | |||
| style="background:SkyBlue" | "maybe" | |||
| style="background:SkyBlue" | "maybe" | |||
|- | |- | ||
| <code>audio/x-mpeg</code> | | <code>audio/x-mpeg</code> | ||
| style="background:LightPink" | " | | style="background:LightPink" | "" | ||
| style="background: | | style="background:LightPink" | "" | ||
| style="background:LightPink" | "" | |||
| style="background:SkyBlue" | "maybe" | |||
| style="background:LightPink" | "" | | style="background:LightPink" | "" | ||
|- | |- | ||
| <code>audio/mpegurl</code> | | <code>audio/mpegurl</code> | ||
| style="background:LightPink" | " | | style="background:LightPink" | "" | ||
| style="background: | | style="background:LightPink" | "" | ||
| style="background:LightPink" | "" | |||
| style="background:SkyBlue" | "maybe" | |||
| style="background:LightPink" | "" | | style="background:LightPink" | "" | ||
|- | |- | ||
| <code>audio/x-mpegurl</code> | | <code>audio/x-mpegurl</code> | ||
| style="background:LightPink" | " | | style="background:LightPink" | "" | ||
| style="background: | | style="background:LightPink" | "" | ||
| style="background:LightPink" | "" | |||
| style="background:SkyBlue" | "maybe" | |||
| style="background:LightPink" | "" | | style="background:LightPink" | "" | ||
|- | |- | ||
| <code>audio/mp4</code> | | <code>audio/mp4</code> | ||
| style="background:LightPink" | " | | style="background:LightPink" | "" | ||
| style="background: | | style="background:LightPink" | "" | ||
| style="background:LightPink" | "" | |||
| style="background:SkyBlue" | "maybe" | |||
| style="background:SkyBlue" | "maybe" | | style="background:SkyBlue" | "maybe" | ||
|- | |- | ||
| <code>audio/mp4; codecs=bogus</code> | | <code>audio/mp4; codecs=bogus</code> | ||
| style="background:LightPink" | " | | style="background:LightPink" | "" | ||
| style="background: | | style="background:LightPink" | "" | ||
| style="background: | | style="background:LightPink" | "" | ||
| style="background:GreenYellow" | "probably" | |||
| style="background:LightPink" | "" | |||
|- | |- | ||
| <code>audio/ogg</code> | | <code>audio/ogg</code> | ||
| style="background:SkyBlue" | "maybe" | | style="background:SkyBlue" | "maybe" | ||
| style="background:SkyBlue" | "maybe" | | style="background:SkyBlue" | "maybe" | ||
| style="background:SkyBlue" | "maybe" | |||
| style="background:LightPink" | "" | |||
| style="background:LightPink" | "" | |||
|- | |- | ||
| <code>audio/ogg; codecs=bogus</code> | | <code>audio/ogg; codecs=bogus</code> | ||
| style="background:LightPink" | " | | style="background:LightPink" | "" | ||
| style="background:LightPink" | " | | style="background:LightPink" | "" | ||
| style="background:SkyBlue" | "maybe" | | style="background:SkyBlue" | "maybe" | ||
| style="background:LightPink" | "" | |||
| style="background:LightPink" | "" | |||
|- | |- | ||
| <code>audio/wav</code> | | <code>audio/wav</code> | ||
| style="background:SkyBlue" | "maybe" | | style="background:SkyBlue" | "maybe" | ||
| style="background: | | style="background:SkyBlue" | "maybe" | ||
| style="background:SkyBlue" | "maybe" | |||
| style="background:SkyBlue" | "maybe" | |||
| style="background:LightPink" | "" | | style="background:LightPink" | "" | ||
|- | |- | ||
| <code>audio/wav; codecs=0</code> | | <code>audio/wav; codecs=0</code> | ||
| style="background: | | style="background:LightPink" | "" | ||
| style="background: | | style="background:LightPink" | "" | ||
| style="background:LightPink" | "" | |||
| style="background:GreenYellow" | "probably" | |||
| style="background:LightPink" | "" | | style="background:LightPink" | "" | ||
|- | |- | ||
| <code>audio/wav; codecs=1</code> | | <code>audio/wav; codecs=1</code> | ||
| style="background:GreenYellow" | "probably" | | style="background:GreenYellow" | "probably" | ||
| style="background: | | style="background:GreenYellow" | "probably" | ||
| style="background:GreenYellow" | "probably" | |||
| style="background:GreenYellow" | "probably" | |||
| style="background:LightPink" | "" | | style="background:LightPink" | "" | ||
|- | |- | ||
| <code>audio/wav; codecs=2</code> | | <code>audio/wav; codecs=2</code> | ||
| style="background:LightPink" | " | | style="background:GreenYellow" | "probably" | ||
| style="background: | | style="background:LightPink" | "" | ||
| style="background:LightPink" | "" | |||
| style="background:GreenYellow" | "probably" | |||
| style="background:LightPink" | "" | | style="background:LightPink" | "" | ||
|- | |- | ||
| <code>audio/wave</code> | | <code>audio/wave</code> | ||
| style="background:SkyBlue" | "maybe" | | style="background:SkyBlue" | "maybe" | ||
| style="background:LightPink" | " | | style="background:SkyBlue" | "maybe" | ||
| style="background:LightPink" | "" | |||
| style="background:LightPink" | "" | |||
| style="background:LightPink" | "" | | style="background:LightPink" | "" | ||
|- | |- | ||
| <code>audio/wave; codecs=0</code> | | <code>audio/wave; codecs=0</code> | ||
| style="background: | | style="background:LightPink" | "" | ||
| style="background:LightPink" | " | | style="background:LightPink" | "" | ||
| style="background:LightPink" | "" | |||
| style="background:LightPink" | "" | |||
| style="background:LightPink" | "" | | style="background:LightPink" | "" | ||
|- | |- | ||
| <code>audio/wave; codecs=1</code> | | <code>audio/wave; codecs=1</code> | ||
| style="background:GreenYellow" | "probably" | | style="background:GreenYellow" | "probably" | ||
| style="background:LightPink" | " | | style="background:GreenYellow" | "probably" | ||
| style="background:LightPink" | "" | |||
| style="background:LightPink" | "" | |||
| style="background:LightPink" | "" | | style="background:LightPink" | "" | ||
|- | |- | ||
| <code>audio/wave; codecs=2</code> | | <code>audio/wave; codecs=2</code> | ||
| style="background:LightPink" | " | | style="background:GreenYellow" | "probably" | ||
| style="background:LightPink" | " | | style="background:LightPink" | "" | ||
| style="background:LightPink" | "" | |||
| style="background:LightPink" | "" | |||
| style="background:LightPink" | "" | | style="background:LightPink" | "" | ||
|- | |- | ||
| <code>audio/x-wav</code> | | <code>audio/x-wav</code> | ||
| style="background:SkyBlue" | "maybe" | | style="background:SkyBlue" | "maybe" | ||
| style="background: | | style="background:SkyBlue" | "maybe" | ||
| style="background:SkyBlue" | "maybe" | |||
| style="background:SkyBlue" | "maybe" | |||
| style="background:LightPink" | "" | | style="background:LightPink" | "" | ||
|- | |- | ||
| <code>audio/x-wav; codecs=0</code> | | <code>audio/x-wav; codecs=0</code> | ||
| style="background:LightPink" | "" | |||
| style="background:LightPink" | "" | |||
| style="background:SkyBlue" | "maybe" | | style="background:SkyBlue" | "maybe" | ||
| style="background: | | style="background:GreenYellow" | "probably" | ||
| style="background:LightPink" | "" | | style="background:LightPink" | "" | ||
|- | |- | ||
| <code>audio/x-wav; codecs=1</code> | | <code>audio/x-wav; codecs=1</code> | ||
| style="background:GreenYellow" | "probably" | | style="background:GreenYellow" | "probably" | ||
| style="background: | | style="background:GreenYellow" | "probably" | ||
| style="background:GreenYellow" | "probably" | |||
| style="background:GreenYellow" | "probably" | |||
| style="background:LightPink" | "" | | style="background:LightPink" | "" | ||
|- | |- | ||
| <code>audio/x-wav; codecs=2</code> | | <code>audio/x-wav; codecs=2</code> | ||
| style="background:LightPink" | " | | style="background:GreenYellow" | "probably" | ||
| style="background:LightPink" | "" | |||
| style="background:SkyBlue" | "maybe" | | style="background:SkyBlue" | "maybe" | ||
| style="background:GreenYellow" | "probably" | |||
| style="background:LightPink" | "" | | style="background:LightPink" | "" | ||
|- | |- | ||
| <code>audio/x-pn-wav</code> | | <code>audio/x-pn-wav</code> | ||
| style="background:LightPink" | "" | |||
| style="background:SkyBlue" | "maybe" | | style="background:SkyBlue" | "maybe" | ||
| style="background:LightPink" | " | | style="background:LightPink" | "" | ||
| style="background:LightPink" | "" | |||
| style="background:LightPink" | "" | | style="background:LightPink" | "" | ||
|- | |- | ||
| <code>audio/x-pn-wav; codecs=0</code> | | <code>audio/x-pn-wav; codecs=0</code> | ||
| style="background: | | style="background:LightPink" | "" | ||
| style="background:LightPink" | " | | style="background:LightPink" | "" | ||
| style="background:LightPink" | "" | |||
| style="background:LightPink" | "" | |||
| style="background:LightPink" | "" | | style="background:LightPink" | "" | ||
|- | |- | ||
| <code>audio/x-pn-wav; codecs=1</code> | | <code>audio/x-pn-wav; codecs=1</code> | ||
| style="background:LightPink" | "" | |||
| style="background:GreenYellow" | "probably" | | style="background:GreenYellow" | "probably" | ||
| style="background:LightPink" | " | | style="background:LightPink" | "" | ||
| style="background:LightPink" | "" | |||
| style="background:LightPink" | "" | | style="background:LightPink" | "" | ||
|- | |- | ||
| <code>audio/x-pn-wav; codecs=2</code> | | <code>audio/x-pn-wav; codecs=2</code> | ||
| style="background:LightPink" | " | | style="background:LightPink" | "" | ||
| style="background:LightPink" | " | | style="background:LightPink" | "" | ||
| style="background:LightPink" | "" | |||
| style="background:LightPink" | "" | |||
| style="background:LightPink" | "" | | style="background:LightPink" | "" | ||
|- | |- | ||
| <code>video/3gpp</code> | | <code>video/3gpp</code> | ||
| style="background:LightPink" | " | | style="background:LightPink" | "" | ||
| style="background: | | style="background:LightPink" | "" | ||
| style="background:LightPink" | "" | |||
| style="background:SkyBlue" | "maybe" | |||
| style="background:LightPink" | "" | | style="background:LightPink" | "" | ||
|- | |- | ||
| <code>video/3gpp2</code> | | <code>video/3gpp2</code> | ||
| style="background:LightPink" | " | | style="background:LightPink" | "" | ||
| style="background: | | style="background:LightPink" | "" | ||
| style="background:LightPink" | "" | |||
| style="background:SkyBlue" | "maybe" | |||
| style="background:LightPink" | "" | | style="background:LightPink" | "" | ||
|- | |- | ||
| <code>video/avi</code> | | <code>video/avi</code> | ||
| style="background:LightPink" | " | | style="background:LightPink" | "" | ||
| style="background: | | style="background:LightPink" | "" | ||
| style="background:LightPink" | "" | |||
| style="background:SkyBlue" | "maybe" | |||
| style="background:LightPink" | "" | | style="background:LightPink" | "" | ||
|- | |- | ||
| <code>video/mpeg</code> | | <code>video/mpeg</code> | ||
| style="background:LightPink" | " | | style="background:LightPink" | "" | ||
| style="background: | | style="background:LightPink" | "" | ||
| style="background:LightPink" | "" | |||
| style="background:SkyBlue" | "maybe" | |||
| style="background:LightPink" | "" | | style="background:LightPink" | "" | ||
|- | |- | ||
| <code>video/x-mpeg</code> | | <code>video/x-mpeg</code> | ||
| style="background:LightPink" | " | | style="background:LightPink" | "" | ||
| style="background: | | style="background:LightPink" | "" | ||
| style="background:LightPink" | "" | |||
| style="background:SkyBlue" | "maybe" | |||
| style="background:LightPink" | "" | | style="background:LightPink" | "" | ||
|- | |- | ||
| <code>video/mp4</code> | | <code>video/mp4</code> | ||
| style="background:LightPink" | " | | style="background:LightPink" | "" | ||
| style="background: | | style="background:LightPink" | "" | ||
| style="background:LightPink" | "" | |||
| style="background:SkyBlue" | "maybe" | |||
| style="background:SkyBlue" | "maybe" | | style="background:SkyBlue" | "maybe" | ||
|- | |- | ||
| <code>video/mp4; codecs=bogus</code> | | <code>video/mp4; codecs=bogus</code> | ||
| style="background:LightPink" | " | | style="background:LightPink" | "" | ||
| style="background: | | style="background:LightPink" | "" | ||
| style="background: | | style="background:LightPink" | "" | ||
| style="background:GreenYellow" | "probably" | |||
| style="background:LightPink" | "" | |||
|- | |- | ||
| <code>video/msvideo</code> | | <code>video/msvideo</code> | ||
| style="background:LightPink" | " | | style="background:LightPink" | "" | ||
| style="background: | | style="background:LightPink" | "" | ||
| style="background:LightPink" | "" | |||
| style="background:SkyBlue" | "maybe" | |||
| style="background:LightPink" | "" | | style="background:LightPink" | "" | ||
|- | |- | ||
| <code>video/x-msvideo</code> | | <code>video/x-msvideo</code> | ||
| style="background:LightPink" | " | | style="background:LightPink" | "" | ||
| style="background: | | style="background:LightPink" | "" | ||
| style="background:LightPink" | "" | |||
| style="background:SkyBlue" | "maybe" | |||
| style="background:LightPink" | "" | | style="background:LightPink" | "" | ||
|- | |- | ||
| <code>video/quicktime</code> | | <code>video/quicktime</code> | ||
| style="background:LightPink" | " | | style="background:LightPink" | "" | ||
| style="background: | | style="background:LightPink" | "" | ||
| style="background:LightPink" | "" | |||
| style="background:SkyBlue" | "maybe" | |||
| style="background:LightPink" | "" | | style="background:LightPink" | "" | ||
|- | |- | ||
| <code>video/ogg</code> | | <code>video/ogg</code> | ||
| style="background:SkyBlue" | "maybe" | | style="background:SkyBlue" | "maybe" | ||
| style="background:SkyBlue" | "maybe" | | style="background:SkyBlue" | "maybe" | ||
| style="background:SkyBlue" | "maybe" | |||
| style="background:LightPink" | "" | |||
| style="background:LightPink" | "" | |||
|- | |- | ||
| <code>video/ogg; codecs=bogus</code> | | <code>video/ogg; codecs=bogus</code> | ||
| style="background:LightPink" | " | | style="background:LightPink" | "" | ||
| style="background:LightPink" | " | | style="background:LightPink" | "" | ||
| style="background:SkyBlue" | "maybe" | | style="background:SkyBlue" | "maybe" | ||
| style="background:LightPink" | "" | |||
| style="background:LightPink" | "" | |||
|- | |- | ||
| <code>video/mp4; codecs="avc1.42E01E, mp4a.40.2"</code> | | <code>video/mp4; codecs="avc1.42E01E, mp4a.40.2"</code> | ||
| style="background:LightPink" | " | | style="background:LightPink" | "" | ||
| style="background: | | style="background:LightPink" | "" | ||
| style="background:LightPink" | "" | |||
| style="background:GreenYellow" | "probably" | |||
| style="background:GreenYellow" | "probably" | | style="background:GreenYellow" | "probably" | ||
|- | |- | ||
| <code>video/mp4; codecs="avc1.58A01E, mp4a.40.2"</code> | | <code>video/mp4; codecs="avc1.58A01E, mp4a.40.2"</code> | ||
| style="background:LightPink" | " | | style="background:LightPink" | "" | ||
| style="background: | | style="background:LightPink" | "" | ||
| style="background:LightPink" | "" | |||
| style="background:GreenYellow" | "probably" | |||
| style="background:GreenYellow" | "probably" | | style="background:GreenYellow" | "probably" | ||
|- | |- | ||
| <code>video/mp4; codecs="avc1.4D401E, mp4a.40.2"</code> | | <code>video/mp4; codecs="avc1.4D401E, mp4a.40.2"</code> | ||
| style="background:LightPink" | " | | style="background:LightPink" | "" | ||
| style="background: | | style="background:LightPink" | "" | ||
| style="background:LightPink" | "" | |||
| style="background:GreenYellow" | "probably" | |||
| style="background:GreenYellow" | "probably" | | style="background:GreenYellow" | "probably" | ||
|- | |- | ||
| <code>video/mp4; codecs="avc1.64001E, mp4a.40.2"</code> | | <code>video/mp4; codecs="avc1.64001E, mp4a.40.2"</code> | ||
| style="background:LightPink" | " | | style="background:LightPink" | "" | ||
| style="background: | | style="background:LightPink" | "" | ||
| style="background:LightPink" | "" | |||
| style="background:GreenYellow" | "probably" | |||
| style="background:GreenYellow" | "probably" | | style="background:GreenYellow" | "probably" | ||
|- | |- | ||
| <code>video/mp4; codecs="mp4v.20.8, mp4a.40.2"</code> | | <code>video/mp4; codecs="mp4v.20.8, mp4a.40.2"</code> | ||
| style="background:LightPink" | " | | style="background:LightPink" | "" | ||
| style="background: | | style="background:LightPink" | "" | ||
| style="background: | | style="background:LightPink" | "" | ||
| style="background:GreenYellow" | "probably" | |||
| style="background:LightPink" | "" | |||
|- | |- | ||
| <code>video/mp4; codecs="mp4v.20.240, mp4a.40.2"</code> | | <code>video/mp4; codecs="mp4v.20.240, mp4a.40.2"</code> | ||
| style="background:LightPink" | " | | style="background:LightPink" | "" | ||
| style="background: | | style="background:LightPink" | "" | ||
| style="background: | | style="background:LightPink" | "" | ||
| style="background:GreenYellow" | "probably" | |||
| style="background:LightPink" | "" | |||
|- | |- | ||
| <code>video/3gpp; codecs="mp4v.20.8, samr"</code> | | <code>video/3gpp; codecs="mp4v.20.8, samr"</code> | ||
| style="background:LightPink" | " | | style="background:LightPink" | "" | ||
| style="background: | | style="background:LightPink" | "" | ||
| style="background:LightPink" | "" | |||
| style="background:GreenYellow" | "probably" | |||
| style="background:LightPink" | "" | | style="background:LightPink" | "" | ||
|- | |- | ||
| <code>video/ogg; codecs="theora, vorbis"</code> | | <code>video/ogg; codecs="theora, vorbis"</code> | ||
| style="background:GreenYellow" | "probably" | | style="background:GreenYellow" | "probably" | ||
| style="background:GreenYellow" | "probably" | | style="background:GreenYellow" | "probably" | ||
| style="background:GreenYellow" | "probably" | |||
| style="background:LightPink" | "" | |||
| style="background:LightPink" | "" | |||
|- | |- | ||
| <code>video/ogg; codecs="theora, speex"</code> | | <code>video/ogg; codecs="theora, speex"</code> | ||
| style="background: | | style="background:GreenYellow" | "probably" | ||
| style="background:LightPink" | " | | style="background:LightPink" | "" | ||
| style="background:SkyBlue" | "maybe" | | style="background:SkyBlue" | "maybe" | ||
| style="background:LightPink" | "" | |||
| style="background:LightPink" | "" | |||
|- | |- | ||
| <code>audio/ogg; codecs=vorbis</code> | | <code>audio/ogg; codecs=vorbis</code> | ||
| style="background:GreenYellow" | "probably" | | style="background:GreenYellow" | "probably" | ||
| style="background:GreenYellow" | "probably" | | style="background:GreenYellow" | "probably" | ||
| style="background:GreenYellow" | "probably" | |||
| style="background:LightPink" | "" | |||
| style="background:LightPink" | "" | |||
|- | |- | ||
| <code>audio/ogg; codecs=speex</code> | | <code>audio/ogg; codecs=speex</code> | ||
| style="background: | | style="background:GreenYellow" | "probably" | ||
| style="background:LightPink" | " | | style="background:LightPink" | "" | ||
| style="background:SkyBlue" | "maybe" | | style="background:SkyBlue" | "maybe" | ||
| style="background:LightPink" | "" | |||
| style="background:LightPink" | "" | |||
|- | |- | ||
| <code>audio/ogg; codecs=flac</code> | | <code>audio/ogg; codecs=flac</code> | ||
| style="background: | | style="background:GreenYellow" | "probably" | ||
| style="background:LightPink" | " | | style="background:LightPink" | "" | ||
| style="background:SkyBlue" | "maybe" | | style="background:SkyBlue" | "maybe" | ||
| style="background:LightPink" | "" | |||
| style="background:LightPink" | "" | |||
|- | |- | ||
| <code>video/ogg; codecs="dirac, vorbis"</code> | | <code>video/ogg; codecs="dirac, vorbis"</code> | ||
| style="background: | | style="background:GreenYellow" | "probably" | ||
| style="background:LightPink" | " | | style="background:LightPink" | "" | ||
| style="background:SkyBlue" | "maybe" | | style="background:SkyBlue" | "maybe" | ||
| style="background:LightPink" | "" | |||
| style="background:LightPink" | "" | |||
|- | |- | ||
| <code>video/x-matroska; codecs="theora, vorbis"</code> | | <code>video/x-matroska; codecs="theora, vorbis"</code> | ||
| style="background:LightPink" | " | | style="background:LightPink" | "" | ||
| style="background:LightPink" | " | | style="background:LightPink" | "" | ||
| style="background:LightPink" | "" | |||
| style="background:LightPink" | "" | |||
| style="background:LightPink" | "" | |||
|- | |||
| <code>audio/webm</code> | |||
| style="background:SkyBlue" | "maybe" | |||
| style="background:GreenYellow" | "probably" | |||
| style="background:SkyBlue" | "maybe" | |||
| style="background:LightPink" | "" | |||
| style="background:LightPink" | "" | |||
|- | |||
| <code>audio/webm; codecs=vorbis</code> | |||
| style="background:GreenYellow" | "probably" | |||
| style="background:GreenYellow" | "probably" | |||
| style="background:GreenYellow" | "probably" | |||
| style="background:LightPink" | "" | |||
| style="background:LightPink" | "" | |||
|- | |||
| <code>video/webm</code> | |||
| style="background:SkyBlue" | "maybe" | |||
| style="background:GreenYellow" | "probably" | |||
| style="background:SkyBlue" | "maybe" | |||
| style="background:LightPink" | "" | |||
| style="background:LightPink" | "" | |||
|- | |||
| <code>video/webm; codecs=vorbis</code> | |||
| style="background:GreenYellow" | "probably" | |||
| style="background:GreenYellow" | "probably" | |||
| style="background:GreenYellow" | "probably" | |||
| style="background:LightPink" | "" | |||
| style="background:LightPink" | "" | |||
|- | |||
| <code>video/webm; codecs=vp8</code> | |||
| style="background:GreenYellow" | "probably" | |||
| style="background:GreenYellow" | "probably" | |||
| style="background:GreenYellow" | "probably" | |||
| style="background:LightPink" | "" | |||
| style="background:LightPink" | "" | |||
|- | |||
| <code>video/webm; codecs=vp8.0</code> | |||
| style="background:GreenYellow" | "probably" | |||
| style="background:GreenYellow" | "probably" | |||
| style="background:GreenYellow" | "probably" | |||
| style="background:LightPink" | "" | |||
| style="background:LightPink" | "" | |||
|- | |||
| <code>video/webm; codecs="vp8, vorbis"</code> | |||
| style="background:GreenYellow" | "probably" | |||
| style="background:GreenYellow" | "probably" | |||
| style="background:GreenYellow" | "probably" | |||
| style="background:LightPink" | "" | |||
| style="background:LightPink" | "" | | style="background:LightPink" | "" | ||
|- | |- | ||
Line 483: | Line 655: | ||
* [http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types mime.types in Apache] (trunk) | * [http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types mime.types in Apache] (trunk) | ||
* [http://technet.microsoft.com/en-us/library/bb742440.aspx#ECAA MIME types in IIS] (is there a newer one?) | * [http://technet.microsoft.com/en-us/library/bb742440.aspx#ECAA MIME types in IIS] (is there a newer one?) | ||
[[Category:Registries]] |
Revision as of 09:22, 27 January 2011
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 same information is also exposed to scripts via the canPlayType
function.
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, including only types that at least one browser supports.
Ogg
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
WebM
MIME types: audio/webm
, video/webm
Filename extension: .webm
Video Codecs
- VP8:
vp8
,vp8.0
(these exact strings, not e.g.vp8.
orvp8.00
)
Audio Codecs
- Vorbis:
vorbis
MPEG
MIME types: audio/mpeg
(RFC 3003), video/mpeg
(RFC 2046)
Filename extension: .mp1
, .mp2
, .mp3
, .mpg
, .mpeg
There are no registered codecs parameters.
MPEG-4
MIME types: audio/mp4
, 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
3GPP
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
WAVE
MIME types: audio/wave
, audio/wav
, audio/x-wav
Filename extension: .wav
Audio Codecs
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.
MIME | Opera 11 | Firefox 4 | Chromium 9 | Safari 5 | IE 9 |
---|---|---|---|---|---|
application/ogg
|
"maybe" | "maybe" | "maybe" | "" | "" |
application/ogg; codecs=bogus
|
"" | "" | "maybe" | "" | "" |
application/mp4
|
"" | "" | "" | "" | "" |
application/mp4; codecs=bogus
|
"" | "" | "" | "" | "" |
application/octet-stream
|
"maybe" | "" | "" | "" | "maybe" |
application/octet-stream; codecs=bogus
|
"" | "" | "" | "" | "" |
audio/3gpp
|
"" | "" | "" | "" | "" |
audio/3gpp2
|
"" | "" | "" | "" | "" |
audio/aac
|
"" | "" | "" | "maybe" | "" |
audio/x-aac
|
"" | "" | "" | "maybe" | "" |
audio/aiff
|
"" | "" | "" | "maybe" | "" |
audio/x-aiff
|
"" | "" | "" | "maybe" | "" |
audio/ac3
|
"" | "" | "" | "maybe" | "" |
audio/x-ac3
|
"" | "" | "" | "maybe" | "" |
audio/basic
|
"" | "" | "" | "maybe" | "" |
audio/flac
|
"" | "" | "" | "" | "" |
audio/x-flac
|
"" | "" | "" | "" | "" |
audio/mid
|
"" | "" | "" | "maybe" | "" |
audio/midi
|
"" | "" | "" | "maybe" | "" |
audio/x-midi
|
"" | "" | "" | "maybe" | "" |
audio/mpeg
|
"" | "" | "" | "maybe" | "maybe" |
audio/x-mpeg
|
"" | "" | "" | "maybe" | "" |
audio/mpegurl
|
"" | "" | "" | "maybe" | "" |
audio/x-mpegurl
|
"" | "" | "" | "maybe" | "" |
audio/mp4
|
"" | "" | "" | "maybe" | "maybe" |
audio/mp4; codecs=bogus
|
"" | "" | "" | "probably" | "" |
audio/ogg
|
"maybe" | "maybe" | "maybe" | "" | "" |
audio/ogg; codecs=bogus
|
"" | "" | "maybe" | "" | "" |
audio/wav
|
"maybe" | "maybe" | "maybe" | "maybe" | "" |
audio/wav; codecs=0
|
"" | "" | "" | "probably" | "" |
audio/wav; codecs=1
|
"probably" | "probably" | "probably" | "probably" | "" |
audio/wav; codecs=2
|
"probably" | "" | "" | "probably" | "" |
audio/wave
|
"maybe" | "maybe" | "" | "" | "" |
audio/wave; codecs=0
|
"" | "" | "" | "" | "" |
audio/wave; codecs=1
|
"probably" | "probably" | "" | "" | "" |
audio/wave; codecs=2
|
"probably" | "" | "" | "" | "" |
audio/x-wav
|
"maybe" | "maybe" | "maybe" | "maybe" | "" |
audio/x-wav; codecs=0
|
"" | "" | "maybe" | "probably" | "" |
audio/x-wav; codecs=1
|
"probably" | "probably" | "probably" | "probably" | "" |
audio/x-wav; codecs=2
|
"probably" | "" | "maybe" | "probably" | "" |
audio/x-pn-wav
|
"" | "maybe" | "" | "" | "" |
audio/x-pn-wav; codecs=0
|
"" | "" | "" | "" | "" |
audio/x-pn-wav; codecs=1
|
"" | "probably" | "" | "" | "" |
audio/x-pn-wav; codecs=2
|
"" | "" | "" | "" | "" |
video/3gpp
|
"" | "" | "" | "maybe" | "" |
video/3gpp2
|
"" | "" | "" | "maybe" | "" |
video/avi
|
"" | "" | "" | "maybe" | "" |
video/mpeg
|
"" | "" | "" | "maybe" | "" |
video/x-mpeg
|
"" | "" | "" | "maybe" | "" |
video/mp4
|
"" | "" | "" | "maybe" | "maybe" |
video/mp4; codecs=bogus
|
"" | "" | "" | "probably" | "" |
video/msvideo
|
"" | "" | "" | "maybe" | "" |
video/x-msvideo
|
"" | "" | "" | "maybe" | "" |
video/quicktime
|
"" | "" | "" | "maybe" | "" |
video/ogg
|
"maybe" | "maybe" | "maybe" | "" | "" |
video/ogg; codecs=bogus
|
"" | "" | "maybe" | "" | "" |
video/mp4; codecs="avc1.42E01E, mp4a.40.2"
|
"" | "" | "" | "probably" | "probably" |
video/mp4; codecs="avc1.58A01E, mp4a.40.2"
|
"" | "" | "" | "probably" | "probably" |
video/mp4; codecs="avc1.4D401E, mp4a.40.2"
|
"" | "" | "" | "probably" | "probably" |
video/mp4; codecs="avc1.64001E, mp4a.40.2"
|
"" | "" | "" | "probably" | "probably" |
video/mp4; codecs="mp4v.20.8, mp4a.40.2"
|
"" | "" | "" | "probably" | "" |
video/mp4; codecs="mp4v.20.240, mp4a.40.2"
|
"" | "" | "" | "probably" | "" |
video/3gpp; codecs="mp4v.20.8, samr"
|
"" | "" | "" | "probably" | "" |
video/ogg; codecs="theora, vorbis"
|
"probably" | "probably" | "probably" | "" | "" |
video/ogg; codecs="theora, speex"
|
"probably" | "" | "maybe" | "" | "" |
audio/ogg; codecs=vorbis
|
"probably" | "probably" | "probably" | "" | "" |
audio/ogg; codecs=speex
|
"probably" | "" | "maybe" | "" | "" |
audio/ogg; codecs=flac
|
"probably" | "" | "maybe" | "" | "" |
video/ogg; codecs="dirac, vorbis"
|
"probably" | "" | "maybe" | "" | "" |
video/x-matroska; codecs="theora, vorbis"
|
"" | "" | "" | "" | "" |
audio/webm
|
"maybe" | "probably" | "maybe" | "" | "" |
audio/webm; codecs=vorbis
|
"probably" | "probably" | "probably" | "" | "" |
video/webm
|
"maybe" | "probably" | "maybe" | "" | "" |
video/webm; codecs=vorbis
|
"probably" | "probably" | "probably" | "" | "" |
video/webm; codecs=vp8
|
"probably" | "probably" | "probably" | "" | "" |
video/webm; codecs=vp8.0
|
"probably" | "probably" | "probably" | "" | "" |
video/webm; codecs="vp8, vorbis"
|
"probably" | "probably" | "probably" | "" | "" |
MIME types used in the wild (in type="")
- http://simon.html5.org/dump/type-audio-video-philip-dotbot.xml (from 425k pages; thanks, Philip`!)
- http://simon.html5.org/dump/type-audio-video-google-code-search.txt
MIME type defaults in Web servers
- mime.types in Apache (trunk)
- MIME types in IIS (is there a newer one?)