Hacker News new | past | comments | ask | show | jobs | submit login
Firefox will support H264 and MP3 decoding with OS codecs (groups.google.com)
127 points by gcp on Mar 12, 2012 | hide | past | web | favorite | 73 comments

From the article:

"There is really no justification to stop our users from using system decoders already on the device"

Mozilla just spent two years telling everyone that they were not going to do this, and posting justifications as for why not. To me this is a serious blow to their credibility.



http://robert.ocallahan.org/2010/01/video-freedom-and-mozill... ("Mozilla should pick up and use H.264 codecs that are already installed on the user's system.")

Mozilla just spent two years telling everyone that they were not going to do this, and posting justifications as for why not. To me this is a serious blow to their credibility.

They fought 2 years for getting patent-free video recognized, probably at the cost of some of their userbase, and a lot of anger from web-developers who saw their lives complicated.

Today, they seem to be reconsidering their position because they think it's a lost fight.

How is this a blow to their credibility? What should they have done? Instantly bend over next time? Stubbornly refuse to reconsider and lose the best hope for a truly free phone OS because nobody would want to use it?

If you lose a war, it's never pretty. Kudos to Mozilla for taking a hard stance against patented standards for as long as they could. They deserve credit for that.

> How is this a blow to their credibility?

Because he's not saying "we tried, but it didn't work out in the end". He's saying there is no justification not to use available platform decoders. Yet they were not shy to provide them in the past. He's not addressing why those are no longer relevant arguments.

Obviously the real reason they're doing this now is because on their new mobile platform, the Gecko runtime is all there is, and without it supporting H.264 playback, the platform would be considered incomplete at launch more so than their desktop browser is for not supporting it. I get the motivation. I'm not saying it's wrong - I don't agree with it, but that's not the point here. The point is how bad it makes Mozilla look to change their stance so willy-nilly.

Yet they were not shy to provide them in the past.

The reasons are still there - it's even pointed out in the parent discussion that they're still a problem on Windows. One main difference is that Windows 7 is an order of magnitude more widespread now than it was 2 years ago - when those posts you refer to were written.

And as you already admitted - they're doing this on mobile first. There's no guarantee yet it turns out to be actually feasible on desktop if those same arguments can't be properly addressed.

But the Windows problems aren't the only justifications they published back then. In the second linked post O'Callahan writes:

"It pushes the software freedom issues from the browser (where we have leverage to possibly change the codec situation) to the platform (where there is no such leverage). You still can't have a completely free software Web client stack."

Given that it strikes me as ironic that Mozilla is now building a platform - i.e. a platform where they definitely have leverage - that is going to support H.264.

They're giving the mostly-dead WebM the coup de grace in order to give the newborn B2G a chance to succeed.

That isn't irony. It's at worst pragmatism, and at best not being stupid to continue a lost fight.

It was a stupid, misguided effort from the beginning. Due to the way patents work, there is no such thing as a patent-free video library. You can't make one. It's impossible. Any non-trivial program will have some kind of infringement and if someone's trolling for "infringements" then they will find them.

They should've worked instead to get proper buy-in from the various parties supporting the current standards to ensure that another GIF incident doesn't happen.

The difference between H.264 and "any video codec ever" that may have an infringement charge brought is that H.264 has a large, well-organized overlord in the form of MPEG-LA. They are actively looking for violations, and threats of suits from them are credible and realistic. "Any non-trivial program" may have an incidental patent infringement claim filed against its authors, but with MPEG-LA and especially a violator as big as Mozilla, you can expect a claim if you don't purchase a license ahead of time.

What I mean more specifically is that a group like MPEG-LA could be lobbied more effectively by Firefox to produce some kind of acceptable licensing model for open-source software and end-users if Firefox had stayed in the game instead of taking their ball and going home.

I think you're confusing MPEG and MPEG-LA, but either way you're mistaken.

MPEG claimed they were going to create royalty-free profiles of H.264 and then went back on that (possibly due to cunning political moves by Microsoft) and now claim to be evaluating a couple of ways forward for royalty-free codecs (a profile of H.264 again, or building on older MPEG 2 tech). It's fairly obvious that it was pressure from (primarily) Google & Mozilla that put RF codecs back on the table for them.

MPEG-LA reduced the uncertainty around their future codec licence payments, and as a result their maximum profits. Again almost certainly due to Google and Mozilla.

They didn't take their ball and go home, they negotiated and competed and as a result won valuable concessions that continue to have value as the next round of codec development begins.

Not an article, a post in a forum.

One person opinion != Mozilla opinion

Aye, but the person in question is a high-ranking Mozilla employee, and his "opinion" is presented in a very done-deal sort of way.

(As for "article", that was just me using a generic term for the context of a HN thead.)

Did you miss the post by the CEO that said basically the exact opposite?

I don't see a post by Gary Kovacs. Link?

(If you mean the prominent Asa Dotzler, he's neither the CEO nor is he saying the "opposite" in my book.)


No. There is no plan to support H264.

Seriously - there is not decision been taken here. This is just a discussion about gecko on Android, and the implication for Desktop.

Saying "Firefox will support H264 and MP3 decoding with OS codecs" is just speculation.

Edit: to be clear: I am saying that there's no plan to support H264 on Firefox Desktop.

If there's a workable solution for supporting codecs in gecko via a system license, why not use the same method on the desktop? Why fragment the engine?

Because Firefox Mobile is some bullshit if it can't play any video content (it doesn't support Flash.)

The nightly builds of Firefox Mobile have supported flash for some time now.

You're right, thanks.

Saying "Firefox will support H264 and MP3 decoding with OS codecs" is just speculation.

Quoting directly from the link:

Initially this will be enabled on Gonk (B2G). In a few weeks we will add support for Android as well. We will support encoding any video/audio format that is supported by existing decoders present on the system, including H.264 and MP3.

Of course it's possible that the bug doesn't land. But calling this speculation? Please.

I was talking about Firefox Desktop.

It would be an interesting position for Mozilla to take, to capitulate on this issue on Mozilla's very own platform (B2G) and the fastest growing mobile platform Mozilla is currently active on (Android), yet not do so on the platform where the largest current userbase lies.

I do not see what benefits it could have.

I agree. Kinda of an uncomfortable position here. Let's see how this evolves.

So they're now just using OS codecs which is exactly what they refused to do when they made a big fuss about H264 patents a while back?

To me this looks like a capitulation, probably brought on by the following factors:

* Chrome was supposed to drop H264 support a >1 year ago in favor of WebM. It never happened.

* The spread of H264 video wasn't slowed down by Mozilla's stance.

* Firefox users were effectively forced to install Flash (a far more closed solution) to view videos.

* The split in HTML5 video support (Firefox and Opera being the lone holdouts with no H264 support) weakened HTML5 compared to alternatives.

* Flash is going away on Mobile devices, which mean that Firefox Mobile users had no way to view videos. This is why it's going into B2G + Android first.


* Adobe announced two years ago that Flash would support WebM, but it never happened. (And since then they have stopped updating Flash for mobile platforms, and for non-Chrome browsers on Linux.)

> * Chrome was supposed to drop H264 support a >1 year ago in favor of WebM. It never happened.

This is pivotal. A big part of why WebM looked like it could win was Chrome's announced support for it and the dropping of H.264. It looks like Chrome has backtracked on that - over a year passed, no follow through on Chrome's promise to remove H.264 - so it is forcing Mozilla to reconsider it's position.

Does anyone know more about Chrome's current stance?

It could've been slowed down a lot if Google made Youtube in WebM by default by now. But they didn't, and that's probably because they don't think it's ready yet. Too bad. They might've missed their chance, or they will miss it if they don't do it very soon.

How was Google supposed to do that? Flash (still) doesn’t support WebM, so there wouldn’t be any fallback. Google surely isn’t arrogant enough to make YouTube videos not accessible to more than half of the browsers out there.

There was and still is no realistic way for Google to switch to WebM. Not exclusively. (Yes, they can also encode their videos in WebM but h.264 versions are always necessary.)

There was and still is no realistic way for Google to switch to WebM.

YouTube, no. Chrome, obviously YES. Firefox and Opera did and still do it. Their failure to use Chrome to push WebM means they killed off their own format. Tells you something about their priorities.

You really think YouTube only stores and delivers single encodings of each video? They would just deliver a different encoding for Flash.

Exactly my point.

That format would be h.264. And nothing changes.

Switching to WebM is pointless if all other browsers still can get h.264. That way you can’t change anything.

You don't remember what the original argumentation was. Firefox is free, Mozilla can't afford the patent licensing, that's all. If you own a h.264 license and want to use it with your software, feel free. By buying a phone or windows 7 you get the license to use a h.264 codec. Microsoft already brought support to Firefox ( http://www.osnews.com/story/24137/Microsoft_Brings_H264_to_F... ), now it's happening on Android. It's one thing to promote open standards - that's great and Firefox is doing that with WebM - but it's another thing to completely disregard existing capabilities and put the user back in the stone age of the internet.

You don't remember what the original argumentation was. Firefox is free, Mozilla can't afford the patent licensing, that's all.

This is still entirely true (note that "afford" in the above should be read in the "free license" context, not monetary). For the same reason, Chromium has no H264 support. Patented codecs don't mix well with free software. They took a stance here based on their philosophy, that much should have been obvious.

The reasons not to do it with system codecs before are enumerated here: http://shaver.off.net/diary/2010/01/23/html5-video-and-codec...

Most of them still apply, but are simply less important 2 years later. The Windows XP thing was even brought up in the original discussion thread.

put the user back in the stone age of the internet

I would say that's essentially what the current patent legislation is doing. Worth fighting against.

Mozilla makes more than $100 million a year: http://en.wikipedia.org/wiki/Mozilla_Foundation

They can afford to pay for stuff if they want to. It seems that Mozilla is more concerned with Free as in Speech, not Free as in Beer.

> You don't remember what the original argumentation was. Firefox is free, Mozilla can't afford the patent licensing, that's all.

IIRC, there were other reasons not to support using the OS codecs. H264 license fees are not an issue when you just use the codecs the OS provides, as they are already covered by the OS or codec vendor. With all the Google millions that Firefox gets each year, the license fee should not really be a problem anyway.

What I understand from it, is that it would take a lot of effort to use system codecs for different video formats, while still providing the complete set of HTML5 video functions for every format.

I never really bought this argument since IE, Safari and Chrome appear to handle this just fine, if you have Perian installed for example, you can even play HTML5 WebM directly from Safari. So I think we can safely conclude there were no other arguments for Mozilla's decision not to support H264 through system codecs, besides ideological ones.

Personally, I think this is great news. Everyone should just stop complaining about the supposed H264 patent issues, standardize on it, and move on. The patents have never been a problem and they never will, you only need to pay license fees if you make money off of H264, in which case you should just pay up, technology like this doesn't fall from trees. The moment WebM/VP8 would gain any traction at all on the internet, it would prove to be a patent minefield just like H264, as you simply cannot make a modern video codec without violating any patents these days.

Even if you accept the MPEG-LA's assurances that there are no practical issues with H.264 decoders (and it is worth noting that the terms for decoders almost certainly wouldn't be as generous as they currently are without the pressure created by WebM), that was never the fundamental problem.

The real issue with the H.264 patents and why it is anathema to any libre ecosystem is the impact of the H.264 patents on video creation, encoding and distribution. Here's a thorough discussion of the issues (created by someone who actually took a substantial amount of time to talk to a representative of the MPEG-LA for clarification):


To me, this is a key conclusion:

"Related to point #2, it may not be possible to release an H.264-encoded video under, for example, a Creative Commons license that allows commercial usage. More precisely, should you release your H.264-encoded content under such a license, it would not be legally usable under such a license. This cuts out a large portion of options related to how you may share your creative content."

I find the idea that we should standardize on a video codec with that sort of usage restriction completely incomprehensible. I just do not understand how people can accept a data format whose licensing doesn't just constrain people who produce encoders, decoders and other related tools and technology, but also constrains end users.

Firefox may be free, but Mozilla is not poor. Their foundation received about $120 million last year. In their most recent negotiation with Google, it was reported that Mozilla would receive $1 billion over the next 3 years from search engine fees.[1]

[1] http://www.pcmag.com/article2/0,2817,2398046,00.asp

They can probably afford to pay the license for themselves, but Firefox is "libre" software, licensed (among others) under the GPL. If Firefox requires an H264 license to be usable, it's not a real open source project any more.

Mozilla certainly have the ability, but I agree that for principle's sake they shouldn't license it.

I would modify what you've said, software can be open source and be totally laden with patents, but free software (especially GPLv3) probably can't.

Continuing my argument: Claiming Mozilla are poor as the GP did is a bad argument. Claiming that the software can't be re-distributed is a slightly less bad argument, but only for larger distributions.

The pool sets certain payment stages. If your distribution of the codec has fewer than 100,000 users there is no license fee payable at all.

Also ,the license fee for h.264 is capped at $6.5 million, so Firefox can distribute it to anyone and any smaller project (less than 100,000 users) can distribute it as well.

It's the mid-sized redistributions that can have trouble, because they will lack Mozilla's money but have larger user bases that might trigger the fees.

It's the mid-sized redistributions that can have trouble, because they will lack Mozilla's money but have larger user bases that might trigger the fees.

If they just ship Mozilla's official binaries the license would be carried along. The only problem is that distros insist on recompiling stuff that already works fine.

In fact, even if Mozilla did pay a non-royalty-free patent license to include the codecs in Firefox, that license would probably be incompatible with the GPL/LGPL, meaning it would no longer be possible to distribute Firefox under its current MPL/GPL/LGPL tri-license. (I don't know the MPL well enough to know whether Firefox would still be distributable under the MPL alone.)

They made their position. Obviously, no one except them (and possibly Opera) cares enough about the problems they pointed out with h.264. There's no point is fighting a lost battle and lose most of their user-base over it.

This is on Android initially. Cheaper android devices (anything less than ~ 200 dollars) don't ship with H264 decoders built it, nor does Cyanogenmod. You have to install something off the Market, which is hard since they're often chipset/ARM version specific...

mozplugger has long played every media format ever by hooking into system ffmpeg/mplayer tooling, on firefox/iceweasel. likewise most minimalist webkit wrapers (midori, surf) just seem to use gstreamer/ffmpeg too, which has clean-roomed free support of even nasty old codecs like realvideo. arguing over what is officialy 'shipped' when the browser supports plugins, Xembed and so on is kind of a pointless tempest in a teapot

Just to be clear - this is on Android, at least to start with. Whether it gets opened up to work with Windows later is an open question.

This will surely help MPEG LA make their encumbered codec a standard for publishing video on the web. I would rather use a browser that does not support non-free codecs.

Make?! Are you serious? It already is. Currently Firefox is just using Flash to play h.264 videos, not OS codecs. There is little practical difference between those two things.

This was always about booting h.264 from its position as the standard for publishing video on the web.

For h264 to be enabled in Firefox, you must already be using a mobile device or in the future an operating system that (financially and technically) supports non-free codecs.

Is there a remotely modern video codec that isn't encumbered? Just because it is offered up as free software or open source doesn't mean that someone else's patent doesn't already cover it.

I have no faith that WebM is non-encumbered. The real issue is our patent system, not codecs.

The patent system is so that almost every non-trivial software can be considered encumbered. Yet the chances of being sued successfully are different. Why will MPEG LA need to push their codec if they could profit from selling patent licenses to WebM users?

I suspect that the real motivation of the H.264 supporters is that the patent encumbered codec will allow content providers and proprietary software vendors to control who is allowed to produce video playback software (at least, they could make it impossible for free software to support the codec), and impose mandatory content protection. That will make the content industry giants closer to their ultimate goal of eliminating all the culture they do not control.

Is that really such an issue? For a highly published patent like that I am sure some prior art can be found, if necessary.

If it were so simple, someone would have done it already. In reality, you're talking about a massively expensive legal battle with an uncertain outcome.

If they're going to do this, they should still not support AAC in html5 audio tags, even if they support it in video tags when bundled with H.264.

With MP3 and Vorbis (with Opus a potential new entrant) you already have wide compatibility (everyone that supports AAC supports mp3 too) and top quality covered and mp3 patents expire a lot sooner than AAC. Ubuntu also has a free (as in beer) mp3 decoder available.

I'm all for pragmatism, but there's still utility and principle in avoiding unnecessary reliance on patented codecs where possible.

> For the desktop, this could be problematic. While Windows 7 does provide access to an already installed and licensed h.264 codec, Windows XP does not. If we simply enable system codecs where available, how will Web developers know when they can and cannot count on system codecs?

Isn't the whole point of the <source> tag to solve this very issue?

<source> lets you serve different formats of the same audio/video object to accommodate the different formats your users may need. However, <source> doesn't do anything to help you figure out which formats you need to serve to cover your user base, which is the problem being referenced here, I believe.

In theory (only) this doesn't help web designers much, as they still need to keep supporting the same formats.

In practice, web designers already seem to use H264 exclusively, so at the very least Firefox users won't have to install Flash to see videos.

Ironically, I've been pretty happy that Firefox on Android has been raising a video-viewing Intent, since I like the option to use one of my locally-installed video players. I hope they'll keep an option to do that even after they've integrated support for system codecs.

I wonder how hostile people will be once the H.264 patents expire. (Remember GIF hate?) It will happen within most of our lifetimes.

I would expect the hostility to rise towards the end as you realise that you're still locked in to a format that is no longer technically competitive and people start dropping support for it in ways that inconvenience you and force you onto an unnecessary upgrade treadmill e.g. see current state of mpeg-2 support and the near future for Xvid/MPEG4.

They won't all expire until around the end of 2017, according to this: http://www.tunequest.org/a-big-list-of-mp3-patents/20070226/

wait, did the grandparent originally say something about MP3?

h264's last patent will expire in november 2027 (or september 2028, but I think there's some technicality that makes that one not count) according to http://scratchpad.wikia.com/wiki/MPEG_patent_lists#H.264_pat...

That's a really long time from now.

MP3 will go there first.

Not necessarily. High profile patents can always be made to expire, there is surely some prior art stashed somewhere.

And if that fails, Google can always buy a couple of senators to fix it.

2 years ago, while working at a SoC vendor, they were explicitely taking into account WebM support for their next generations of chips: not having hardware decoding for a major web codec would be a great failure: with Google + Mozilla + Opera we could see almost 1 billion users affected by this. This is a make or break to have design wins.

A SoC lifecycle can take 5 years to materialize in customer shipping hardware. Yet Mozilla is giving up before collecting the fruit of their previous policy (no system codec).

That's a shame.

> Yet Mozilla is giving up before collecting the fruit of their previous policy (no system codec).

The bigger issues are that

* Google never followed through on its declaration it would remove H.264 from Chrome, which would have made almost 50% of browsers that don't support H.264.

* Flash never followed through on its declaration it would include WebM, which would have enabled WebM in IE and Safari and made it possible for YouTube to go WebM-only (on desktop).

Mozilla using system H.264 codecs on mobile (not even desktop) doesn't matter at all compared to those.

What good is WebM support in the SoC, or what effect does it have, if there is zero content out there using it anyway? If WebM video would be popular by any measure, this wouldn't have happened.

Note that there are SoC already out there that support VP8/WebM. As far as I know Tegra 2 is one of them. What does it change? Nothing. All those chips support H264 as well. So H264 is what content producers use.

There is content. Youtube has started pushing html5+webm videos to modern webrowsers without flash installed. This includes Android 4.0+.

A lovely way to admit being wrong while still remaining slightly user-hostile.

Wrong in what?

Wrong about thinking they could do the right thing and get away with it?

Stratego > So true :)

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact