Remember the HTMl5 video war from about a year ago? When browser manufacturers left and right claimed allegiance to H.264 or WebM? For the user, such moves can often be disastrous, anyone remembering the Blu-Ray vs. HD-DVD uncertainty knows what I’m talking about. With HTML5 video it came down to Microsoft and Apple supporting H.264, and Mozilla, Google and Opera supporting WebM. Google furthermore had support for H.264 built into the browser, but promised to remove support completely in the future.
The fronts appear to be crumbling right now, with Mozilla’s Andreas Gal proposing a change in strategy for the Firefox web browser. Originally aimed at the mobile version of the browser, it soon widened to include the desktop versions as well.
Firefox Mobile is in a predicament, as WebM support has not yet been included into the Android operating system. With Firefox only supporting WebM, it would effectively mean that Firefox users cannot play HTML5 videos, the new standard when it comes to video on the Internet. For now, Adobe Flash offers a fallback.
Gal’s idea to bake H.264 support into Firefox comes with an interesting twist. Instead of supporting H.264 natively, the developers plan to use the format if it is supported by the operating system. This could also pave the way for additional codecs being supported by the browser, mp3 comes to mind.
I want to land bug 714408 on mozilla-central as soon as I get review for it. It adds hardware-accelerated audio/video decoding support to Gecko using system decoders already present on the system. Android, for example, ships by default with a number of decoders, and in particular for such mobile devices we really have to use these hardware-accelerated decoders for good battery life (and performance).
Initially this will be enabled on Gonk (B2G). In a few weeks we will add support for Android as well. We will support decoding any video/audio format that is supported by existing decoders present on the system, including H.264 and MP3. There is really no justification to stop our users from using system decoders already on the device, so we will not filter any formats
On Android, H.264 would readily be available for the browser. As far as the desktop goes, things are more complicated. If you look at Windows, you will notice that Windows 7 ships with H.264 support, while Vista and XP do not. Microsoft recently created a Firefox add-on that added H.264 for Windows 7 users of the browser.
Concerns were raised by some developers that Mozilla was capitulating on free codecs, but most seem to agree that Mozilla needs to do something to stay competitive.
I do believe this war is lost. Just look around. Almost none of the content users want to watch is available in WebM. The only reason desktop is usable is because of Flash, a proprietary plugin, playing video for us (in H.264, mostly). Even Google, supposedly a proponent of open codecs, never fully converted YouTube and never dropped H.264 from Chrome. Taking a principled (I would at this point prefer ‘stubborn’ I think) stance on H.264 won’t change reality. It just hurts us and our users.
Firefox got to the point where we are on desktop today by embracing reality. In the early days we started supporting IE-isms like document.all that were god awfully ugly and non-standard. But it was needed for compatibility so we can give people a usable web experience. The web uses H.264. That’s an unpleasant fact, but its a fact. We have to support it whether we like it or not, so we can be around for the next round and continue to influence the web for the better.
Nothing seems to be set into stone yet, but it appears as if Mozilla intents to go forward with the implementation in the near future. Would you personally have a issue with Firefox supporting codecs such as h.264?