Historically, Mozilla has rejected the use of non-open codecs (such as H.264), a subject that has been covered before on InfoQ. The main reason is ideological; H.264 is covered by patents and licensed by the MPEG-LA. Could this stance be softening?
The MPEG-LA announced that the video codec for internet video until the end of the license back in 2010. Although Google Chrome threatened to remove H.264 support from the <video>
tag over a year ago, the threatened action still has not taken place.
Microsoft, which licenses the H.264 codec for its Windows platform, has provided a plug-in for rendering H.264 in the browser (as well as any other video codec installed). OSX continues to have built-in H.264 support, and for those browsers on alternative operating systems the Flash plugin provides decoding support for H.264, although it is rarely hardware accelerated.
Meanwhile, Adobe Flash for Mobile – once touted as the unique selling point of Android over more popular devices – was killed off four months ago. Every smart mobile sold in the last year has support for either Flash or H.264 video decoding (often hardware accelerated) whilst the open-source WebM codec has failed to make any significant impact on either devices or operating systems.
The increasing volume of smartphones and tablets is making a significant impact on the sales of traditional PCs, and since over three quarters of desktop browsers have H.264 decoding support (as IE, Chrome and Safari combined are around 75% of all browsers worldwide).
As a result, a thread on Mozilla's dev list suggested adding platform supported video codecs to allow the video be displayed based on the platform's capabilities. Bug 714408 allows the Gecko platform to use the platform's installed codecs. This would mean on Microsoft and OSX platforms, where H.264 video decoding is available, the browser would correctly display the video. In addition, mobile devices (typically more conservative about power usage) would defer the decoding to the hardware accelerated decoding instead of having to use the CPU to do the work, usually at a net power saving. Firefox on mobile devices would thus be able to take advantage of these codecs instead of having to defer to a Flash plugin to display the video.
There is limited support for hardware decoding of WebM on platforms (even those which are more open to installing additional codecs). With the rapid increase in the iOS platform – and the much more limited fragmentation in that market – the chance of WebM to penetrate the mobile market has all but evaporated.
Finally, as linked to by Daring Fireball, is that various Torrent sites have decided to move from the age-old Xvid to H.264 encoding by default.
WebM may have had a chance if Chrome had delivered on its promise to remove support for the licensed codec, but with the increase in hardware devices supporting H.264 natively and a growing collection of raw video in H.264 format there is little prospect of WebM making a comeback. This is especially true since browsers without H.264 support can be served a fallback to a Flash wrapper around exactly the same H.264 video, and the <video>
war is effectively over with H.264 being declared the winner.