Tech —

Idealism vs. pragmatism: Mozilla debates supporting H.264 video playback

A prominent Mozilla developer has proposed implementing support for H.264 …

The HTML5 video element promised to be a game-changer for Internet media publishing. It provided a vendor-neutral standards-based mechanism for conveying video content on the Web without the need for proprietary plugins while offering a path for tighter integration of video content on the Web and broader platform support than has historically been available through plugins.

But the HTML5 video element has yet to live up to its full potential, because a dispute over video encoding has prevented the standard from being implemented consistently across all Web browsers. Mozilla, which has long resisted adoption of H.264 on ideological grounds, is now preparing to support it on mobile devices where the codec is supplied by the platform or implemented in hardware.

The popular H.264 format is widely viewed as the best technical choice for encoding Internet video, but its underlying compression technologies are covered by a wide range of patents. This has raised the question of whether its appropriate for a standards-based Web technology to rely on a patent-encumbered video format that requires publishers and software implementors to pay licensing fees.

The ubiquity of the Web and its strength as a platform for innovation are partly due to the royalty-free licensing model that the W3C mandated for Web standards. As Mozilla and other parties have argued over the past few years, the use of a patent-encumbered video format is antithetical to the principles of the open Web. Critics of the H.264 licensing model have advocated the use of other video codecs, causing a split in the browser landscape.

Apple and Microsoft both support H.264, while Mozilla and Opera oppose the use of patented codecs. Google previously favored H.264, but shifted its position after opening VP8, a codec that the search giant has put forth as a viable alternative to H.264 for Internet video. Google vowed to remove H.264 support from its Chrome Web browser at some undisclosed future date, but has not yet done so.

The lack of universal support for a single codec has proved problematic because it compels content creators to either encode their video in multiple formats or fail to support large segments of their audience. Building consensus around a single codec would remove one of the biggest remaining impediments to widespread adoption of the HTML5 video element.

A change in course

Mozilla's strong commitment to the open Web made it seem as though the organization's position was intractable. Mozilla's resolve on the matter appears to have cracked, however, as the organization confronts the challenge of bolstering its credibility as a mobile platform provider.

Andreas Gal, Mozilla's director of research, announced on a public mailing list today that he wants to proceed with a plan that would enable H.264 decoding on Mozilla's Boot2Gecko (B2G) mobile operating system. The proposed change would allow the video element in Mozilla's HTML rendering engine to rely on codecs that are supplied by the underlying operating system or dedicated video hardware.

In addition to enabling H.264 playback in B2G, the proposed patch would also enable it in the Android version of mobile Firefox. Gal further expressed support for eventually taking similar measures in the desktop version of Firefox, with the stipulation that it would only be practical if the implementation ensured support for virtually all users.

Modern versions of the Windows operating system expose an H.264 codec to third-party software, but Windows XP does not. Gal said that he'd favor supporting H.264 in Firefox on the desktop if a means could be identified for ensuring that XP users (which represent a very significant portion of Firefox's audience) aren't left out. This is a radical change of policy for Mozilla, one that could have significant ramifications for the future of video on the Web.

Despite the pragmatic concession, Gal says that Mozilla's ideological position in favor of open codecs remains unchanged. The organization is still hopeful that an unencumbered codec will eventually prevail.

"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," he wrote. "I don't think this bug significantly changes our position on open video. We will continue to promote and support open codecs, but when and where existing codecs are already installed and licensed on devices we will make use of them in order to provide people with the best possible experience."

The option of using system-provided codecs is an obvious solution that would allow Firefox to play H.264 video without having to ship the code itself. We've discussed (and endorsed) this approach in some of our previous coverage, but Mozilla has historically rejected it on ideological grounds. In the past, Mozilla's position was that it didn't want to take any steps that would legitimize or encourage the use of a patent-encumbered codec. The organization is no longer maintaining that argument.

Google's major investment in advancing its unencumbered VP8 codec gave open Web advocates hope that H.264 could still be displaced, but it hasn't happened. The lack of follow-through from Google on its promise to remove H.264 from Chrome has eroded faith in the search giant's ability to popularize VP8. Gal says that it's no longer feasible to wait for the open codec to gain additional traction.

"Google pledged many things they didn't follow through with and our users and our project are paying the price," he wrote. "H.264 wont go away. Holding out just a little longer buys us exactly nothing."

The proposal to support H.264 in mobile Firefox has generated a tremendous amount of controversy among Mozilla developers. The critics include Mozilla employees and independent contributors. Mozilla's Joe Drew characterized the proposal as "capitulating on Free codecs" and expressed concern that the mobile-centric rationalization amounts to pushing an ideological compromise through the back door.

Firefox developer Justin Dolske also expressed some concerns. He pointed out that the possibility of enabling support for system codecs was discussed once before in relation to Fennec on the Nokia tablet devices and that it was rejected at the time for ideological reasons. He asked that the issue receive further discussion, specifically some clarification about what circumstances have changed that necessitate a reversal of the previous policy.

"The state of HTML5 video started off from a bad place, and to be fair still isn't in a good place. So reassessing Mozilla stance is not unreasonable. But I think if Mozilla is going to do an about-face on open video standards (and it is an about-face), then there should be some serious discussion about it. Certainly more than than a few terse words saying it's hopeless and obvious," he wrote. "We spent a lot of time and made a lot of blog posts about why H.264 was bad for the web. Leaving those who advocated for us suddenly high-and-dry doesn't feel like the right thing to do."

The debate has continued on the mailing list. There is also some preliminary discussion from certain participants in the debate about whether it would make sense at this point to simply license the codecs and ship them directly in the browser. Such a move, which would be a step further than merely supporting external codecs where available, would ensure support for Windows XP users but would detrimentally impact downstream distributors of Firefox code.

The outcome of the debate is unclear, but it currently appears probable that the plan to support system-provided codecs will be upheld and carried out. There are already some patches that have been hashed out, which means it can be practically implemented without much difficulty. The questions about how to proceed on the desktop and whether to license and ship the codecs are more tentative in nature and will likely take more time to be resolved.

Listing image by Photograph by -Kenzie-

Channel Ars Technica