Everyone else is arguing about HTML 5’s video codecs. Why can’t I?
https://marco.org/2009/07/06/everyone-else-is-arguing-about-html-5s-video-codecs
Ryan Paul at Ars Technica wrote this great overview of the argument. In short:
- HTML 5 includes a native
<video>
tag so people don’t need to rely on Flash or other proprietary plug-ins to play video in pages. It’s currently only supported by the absolute newest versions of Firefox and Safari (including Mobile Safari), and Google will add support to Chrome shortly. Internet Explorer is unlikely to ever support it in a useful way. Opera has probably supported it since 1997, but nobody remembered to ask them. - Nobody can agree on which video format should be the standard.
- Apple and Google want the extremely popular and common H.264 video and AAC audio codecs, presumably in .MP4 containers, to be the standard. But these formats have patent and license restrictions, and are therefore not free (as in freedom, not necessarily price) to use.
- Mozilla, and the FSF and other free-software groups, want the standard to be the free, open-source Ogg Theora video and Vorbis audio. But these formats are less advanced, they need more filesize and bandwidth for the same quality, there are almost no tools to encode them (especially Theora), and they have no hardware-acceleration chips to make them easier to play on low-power devices such as phones and set-top boxes. In short, nobody uses Theora.
- Neither group’s browser(s) support the same format as the other, so there’s no single format that’s supported everywhere.
It’s pointless to argue whether the adopted standard should be a free codec. The H.264 camp screams about practicality and the Theora camp screams about principle. Both are entrenched in their positions: Google is a toss-up for Chrome, but they’re unlikely to support Theora on YouTube, the biggest and most influential video site by far. Apple will never support Theora. Mozilla will never support H.264. (I’m on the H.264 side for numerous practical reasons, but it doesn’t really matter — I’d love it if everyone supported both.)
Effectively, the bickering has killed any chance that the HTML 5 <video>
element had of being used on any meaningful scale.
The purpose was to remove complexity for browsers, authors, and users, but it has only added it.
Know what’s a lot simpler?
Flash.
Yes, the Flash that we were trying to get away from.
Because Adobe doesn’t care that H.264 isn’t free. Flash supports the same formats on every browser. Even IE. And authors only need to encode, store, cache, and track one file per video.
In fact, you can use your choice of numerous tools — free or commercial, command-line or graphical, all-in-one or specialized, Linux or OS X or Windows — to encode H.264 video with AAC audio in an .MP4 or .MOV container. Then you can play that file on:
- Every browser on every OS with Flash installed, which is more than 90% of browsers in use, including most installations of Internet Explorer and all versions of Firefox and Safari released before June.
- Every Mac browser, or every Windows browser with QuickTime installed (and if you have installed iTunes or Safari on Windows, you have QuickTime), with an
<embed>
tag. - The iPhone, both directly and in Mobile Safari, with an
<embed>
tag. - Safari 4 and Mobile Safari in 3.0 with the
<video>
element. - Any video-capable iPod, optionally delivered as a podcast.
- Every Xbox 360 and PS3, and many advanced DVD players and set-top boxes.
How does that list look for a Theora/Vorbis .OGV file?
It doesn’t matter that H.264 isn’t technically free: it’s near-universal and incredibly practical. MP3 isn’t free, but it’s everywhere, except where it has been replaced with the also-not-free AAC. Until last year, JPEG was under possible patent restrictions, but it has been supported by every version of every Mozilla browser.
By not supporting the practical format, Mozilla isn’t making a brave statement or taking a stand: they’re just keeping everyone on Flash and preventing meaningful adoption of HTML 5’s <video>
element.