Dear Mozilla, Please Don't Kill HTML5 Video
briancrescimanno.com
briancrescimanno.com
I don't really blame them though. The US government allows software patents and has a terrible patent system that massively favours entrenched interests and blessed the MPEG patent pool which created the current mess. (Bear in mind that the US government spent most of the 20th century breaking up patent pools because they were anti-competitive).
People say "there's too many patents around video codecs" but no one stops to ask why. The answer is because anyone who gets a patent into MPEG gets an equal cut of the profits, doesn't matter how small, useless or even counter-productive your idea is. It all adds to the patent thicket that prevents competition.
How can anyone say with a straight face that they are choosing a bureaucratic monopoly because quality is so important to them?
The "invisible hand" that turns corporate self-interest into something socially beneficial only works when there is free competition and erecting barriers to entry (by excluding those who can't or won't pay patent fees) is by definition anti-competitive.
This is why countries like China are pushing for royalty-free standards. Even communist countries understand that open standards and competition are a benefit.
I am suggesting (in line with what I thought were the commonly accepted tenets of free market capitalism) that their self-interest be channelled, not that this motive is intrinsically bad, just that it is not intrinsically good since externalities and market failures can be exploited in the name of corporate self-interest without any compensating benefit to society.
"People of the same trade seldom meet together, even for merriment and diversion, but the conversation ends in a conspiracy against the public, or in some contrivance to raise prices." -- Adam Smith
In your last post, you said: "Anti-competitive actions are always pragmatic if you're not going to get punished for them." From this, I conclude that when you say "anti-competitive", you are referring to actions that ought to be punished. Then, I asked if it was anti-competitive for companies to act in accordance with their own interests instead of aiding competitors, to which you say yes.
From this, I conclude that you are saying that acting in one's own self-interest instead of aiding competitors ought to be punished.
Where have I made a mistake?
erecting barriers to entry (by excluding those who can't or won't pay patent fees)
I don't understand. Native h.264 support is not mandatory for competition or spec compliance. h.264 patent fees, and Mozilla's inability/choice to not pay them only constrain what they implement. It does not prevent them from competing or from adhering to the spec.
For a counter-example, Mozilla was the driving force behind having Theora made a mandatory part of the spec, which would have excluded any parties who couldn't or wouldn't implement it. Would that have been anti-competitive?
In this particular real world you can't micromanage like that, and you'd end up with bad government if you even tried, but still companies are punished for the anti-competitive actions which are big or bad enough to be worth prosecuting, and are generally expected to refrain from doing so all by themselves. (Often they are encouraged to self-regulate by the threat of intrusive mandated regulation.)
I personally would prefer it if patents, standards bodies and a few other such institutions were reformed to encourage greater competition and prevent anti-competitive behaviour.
In the particular case of H.264 there are a range of problems with the current system, even before you bring web standards and browsers into the picture. Basically patents plus network effects are a bad mix and MPEG has the whole world on a patent upgrade treadmill. Ironically, standards were a previously successful tool to avoid proprietary vendor lock-in, but they have since been captured by the very organisations they were meant to regulate.
Making any royalty-free standard mandatory (e.g. Theora) is only an issue because of potential patent claims from trolls in general or MPEG-LA members specifically. This can and should be fixed in the patent system (e.g. China have announced plans to compulsorily licence patents that have claims on mandated standards, some US legal authorities suggest that it be your responsibility to notify standards bodies of patent issues or else you lose your patent rights, many EU member states don't consider MPEG "open" standards because they require royalties and so can't be used by government). Without that patent threat there is no substantive reason to not implement Theora (or any potential VP8 derived codec).
My own understanding is, even with the vagueness of the current patent system, that the groups who have refused to implement Theora have done so primarily because of influence brought to bear on them by MPEG-LA which makes any suggestion of anti-competitiveness of Theora circular since it relies on the existence of an anti-competive body which is using its power to prevent implementations of rival codecs.
I agree. We undoubtedly disagree on what things and in what ways, but I don't think the current systems and organizations are operating at their best, either. On most aspects of the larger problems am very undecided, but I have a particular bee in my bonnet over this issue because I strongly disagree with Mozilla's handling of the situation.
standards were a previously successful tool to avoid proprietary vendor lock-in
They still are. That's why we're talking about a single (albeit broad) format called "h.264", which dozens of vendors support and not dozens of different competing locked-in formats.
but they have since been captured by the very organisations they were meant to regulate
I'm not sure what you mean by this. To my knowledge, the primary participants in the relevant standards bodies have always been the same ones cross-licensing their IP. That would seem to make sense: You can't have interoperable standards if the parties won't share what they have, and the most reliable way of getting someone to share what they have is to give them something in return.
Making any royalty-free standard mandatory (e.g. Theora) is only an issue because of potential patent claims from trolls in general or MPEG-LA members specifically.
I disagree. Making any codec mandatory means mandating risk. In a standard, this means implementors agreeing to take on that risk--but the parties involved in HTML5 have not agreed to take on the risk of any codec. Why they choose not to is irrelevant from the viewpoint of authoring a standard. There is no sense in publishing a standard that is full of stuff which isn't actually standard. Trying to alter reality by altering the spec would not work regardless of patents -- it would just make otherwise compliant parties non-compliant, to no end but smug satisfaction.
(It's worth noting here that h.264 was never mandated by the spec. The parties that implement it have done so for their own reasons, without being mandated.)
Without that patent threat there is no substantive reason to not implement Theora (or any potential VP8 derived codec).
The same is true of h.264, with the essential difference that licensing allows the risk to be managed, even without patent reform. As in, today. If we had to hold up all progress until the messy problems of international IP law had been solved, h.264 would be patent-free by the time we were finished.
And this on top of the fact that there is very little technical or economic reason to implement Theora. It's just not that useful.
the groups who have refused to implement Theora have done so primarily because of influence brought to bear on them by MPEG-LA
On what evidence do you make this claim?
No you didn't. The question you asked was, and I quote: "You're saying it's anti-competitive for companies to act in accordance with their own interests rather than go out of their way to support their competitors?" Note you used supporting, a passive role, rather than aiding, which is active. To state the obvious: your mistake was assuming that the process of synonymy strictly preserves meaning, which isn't the case.
Note that I used "go out of their way to support". The active role was clearly implied, and consistent with the context.
ZeroGravitas described Apple and Microsoft's choice (to use h.264) as an "anti-competitive action", and in contrasting that choice with an alternative, I thought it was obvious that I meant choosing (acting) differently, i.e. using Theora, in spite of it not being in their own interests. What else might I have meant?
If we were talking about a passive role of "supporting", then Apple (and possibly Microsoft) would have to be excluded, as their <video> implementation (at least on the desktop) allows for installing additional third-party codecs, such as Theora. In that sense Apple supports Theora, but clearly that is not what we're talking about.
I know of no other sense in this context that Apple or Microsoft could support Mozilla without also aiding them.
(The reason I stated this initially in terms of "going out of their way" was to distinguish this situation from situations in which self-interested competitors benefit each other directly, such as how Apple's work on WebKit benefited Google's work on Chrome (and vice versa). There was no argument made to suggest that choosing Theora would have been in the interests of Microsoft or Apple, though, so this was (I thought) redundant, hence the change.)
Nobody that hasn't already been wanking over it is going to start using Theora. Authors will just fall back to Flash playing h.264 in mp4 containers via HTTP like they've been doing for years, which Mozilla is eager to support.
There's nothing consistent about their principles.
The salaries of all the cheerleaders and wheel-reinventors have to add up to something substantial. They've got piles of Google cash — they stopped begging for donations after their $60m search-referral windfall in 2006 got publicized, but they've gotten secretive about their financials after that.
I had found the 1099s a while back, but they stopped showing the whole picture after the Mozilla Corporation was created to take the revenue.
They don't have to bundle a h.264 decoder with the browser — Google is the only one that does that with their binaries (depending on how many transcoding machines they had for youtube, they may have already been paying the full license fee), and they're nice enough to dynamically link with libavcodec, so if you build it yourself you can just symlink to your platform's copy, and get every codec under the sun instead of just wav, mp3, aac, vorbis, h.264, and theora.
Apple and Microsoft just link with their native platform libraries (QT & DirectShow), and use the licensed codecs they already licensed to bundle so your computer can function in the real world.
Opera's using GStreamer on at least some of their platforms, but I think it's with a private copy. GStreamer would be a great fit for Mozilla if they'd get their heads out of their asses: they could even bundle their whole own private copy with only their foss-wank decoders. They don't even have to make it fall back to the platform libraries, as long as it's possible to drop in more decoders. They could even implement the same 'a proprietary plugin is missing' thing they do for Flash, and just download the binaries from the upstream developers (most of whom are based in western europe).
Apple gets you to install Quicktime on Windows if you want video in Safari.
Any thoughts on why you'd want to support every codec under the sun (and pay licence fees for most of them) if the market externalities and network-effects lead to only one codec being used? Why argue for "choice" if you know that will lead to people being forced to support one particular codec?
You'd ideally support every codec under the sun by falling back to the platform's API. That "choice" would probably lead to people being forced to support one particular codec (h.264 for now), but it means that they don't have to pay for it. It also takes it out of the total control of the browser vendors — so it provides a path for Dirac/etc. to take off in the future.
There's also the ability for minority codecs to persist without gross transcoding (you can always fall back to a download link + VLC, which is what you had before). One of the worst things about the Theora debacle is that nearly all of the video out there is extra-lossily transcoded from more efficient files.
Of course, since I'm so humble, you can ignore me.
The problem is when a browser doesn't support Theora/Vorbis at all, such as Safari or current news regarding IE9. I'm personally hoping that the released version of IE9 will support Theora/Vorbis -- very unlikely, but a man can dream.
I do know if you build your own Chromium you can use a non neutered library of ffmpeg and play every codec it supports instead of just mp4.
Apple doesn't support Theora in Safari because the iPhone doesn't have a Theora hardware decoder. They bluster a bit about submarine patents, but really, their refusal boils down to the iPhone. If desktop Safari supports Theora and the iPhone doesn't, users will complain. If playing some videos on the iPhone uses the battery faster than advertised, users will complain.
Microsoft, of course, has a long-lasting and well-documented dislike towards open formats. Whether IE9 supports Theora and Vorbis will depend on internal company politics -- "Free Is Bad" vs. "Lets Not Fuck Up IE Again".
No, Apple stated that they don't support Theora "claiming that the lack of known patents on Theora doesn't rule out the threat of submarine patents that could eventually be used against adopters." http://arstechnica.com/open-source/news/2009/07/decoding-the...
They also said that they have no hardwaredecoder, but this is just an excuse, imo. Video decoding is done by DSPs and DSP are designed to be programmable quite flexible. Apple/Whoever just would have to do that.
All in all, the whole situation is very clear when you look at it with the "patent view" ;)
MS: -has Windows Media Player, WMV, pays MPEG Patent fees anyway -> H.264
Apple: -has Quicktime, pays MPEG Patent fees anyway -> H.264
Mozilla: -no license -> Theora
Opera: -no license -> Theora
Goole: -no Codecs but youtube is in mpeg, but can easily switch to theora -> H.264+theora
MS and Apple have reasons to use the H.264 format: they already pay those fees, have expertise with the format, can "supress" the competition with it. Because MS could build in theora support, but what Mozila can't is to build in h.264 format (without paying). Mozilla can only lose this battle and MS&Apple are quite happy about it. There goes the competition. Typical stupid, "selfish", proprieatry bullshit-decission.
Before that there were ZERO independent efforts at implementing Theora decoders — there was the original On2 code dump, and a transliteration of that to Java called Cortado (used in an applet player by Wikimedia). There are no independent encoders, just the original code dump and a deshittifying refactoring (v1.1, Thusnelda) that was just released a few months ago.
Before it was tied as an anchor around the necks of the FOSS partisans, Theora was a really awful totally proprietary (in the original sense) codec. It was open sourced because it was never once licensed to a customer, and On2 only pushed one codec at a time (they never improved them, just forked off a new one).
As for the patents, MS has been shipping h.264 decoders with their OSes for a while now (they always left MPEG2 decoding the OEMs to bundle until recently too). Apple actually has patents in the h.264 licensing pool!
So, dirac it shall be then?
edit: Also you mention technical reason. My reasoning still is: This is not about technical reasons it is a pure political decision to get rid of competition in a shameless way. You don't want to tell me that two of the biggest software companies in the world which did their own codecs (quicktime, wmv) arent capable of shipping a decent theora decoder in their browsers? It's just a stupid manager decision in the likes of "haha, mozilla can't/won't pay mpeg fees, we'll use that".
Dirac is terrific, but it'll be another few years before it's ready; and it'll be much longer before the available bandwidth and demand for quality exists — it'll pick up among people pirating 1080p video, but it doesn't scale down enough for the youtubes of the world.
QuickTime is not a codec and never has been, it's a container, which happens to have been standardized as the MPEG4 container, because it doesn't suck ass like everything else (save Matroska). WMV is mostly a container too — they had a good 'proprietary' WMV codec called VC-1, but they got pwned with submarine patents after they lobbied it into the HD standards war.
It is pretty dangerous to allow H.264 to become widespread here. It would represent a serious barrier to entry for upstart browser vendors. This is bad.
We want to invite as much competition as possible. It's true that if you only account for Mozilla, it's not that big of a deal, because at the end of the day they can afford to pay some licensing fees if they have to. It is a big deal for something like Midori or Epiphany or Konqueror or any other such projects because their usability will be strongly diminished by an inability to play online video. This is a bad thing.
Nokia isn't working on a Theora DSP decoder. In fact Nokia along with Apple were among the strongest voices against including Theora as an interoperable baseline codec in HTML5. (It was revealed, but only later, that Nokia are, like Apple, in the MPEG patent pool). Mozilla are writing the software needed for "hardware" decode on the n900 and similar platforms.
If a DSP decoder counts as an independent Theora decoder then there's several other things that would count too. I would have thought the ffmpeg Theora/VP3 decoder would have counted by any measure.
The On2 code was rewritten, even for Theora 1.0. Theora 1.1 was another major rewrite but mostly of the encoder (though that work also made the decoder faster).
While more an omission or curious framing than an incorrect fact it could be suggested that since Theora is BSD licenced then there is little need for anyone to rewrite it. This is unlike, for example, H.264 where there is no liberally licensed reference implementation (and some experts from x264 think that most independent implementations are atrocious since the spec is easy to mess up). So you seem to have portrayed a strength as a weakness here.
You (or someone else round here) have claimed before that VP3 was never licensed to a paying customer and this is why it was released as open source. I don't think this even makes logical sense, but moreover I believe it to be entirely untrue. Do you have a source for this surprising claim? (The official On2 line from the guy who suggested it is that they open sourced VP3 to "scorch the earth" for competitors as they moved onto the next generation codec)
On2 backported changes introduced in VP6-8 and VP6 improved measurably as a result.
Microsoft only introduced H.264 decoders in Windows 7.
Microsoft are also MPEG patent pool members.
Thanks for pointing out the ffmpeg VP3 decoder, which appears to have SSE2 optimizations and everything — yet another reason why Mozilla should be linking with libavcodec or GStreamer :)
I remember that the original libtheora alpha release was just the On2 BSD-licensed code dump rearranged with the copyright strings changed and working makefiles, but I can't find the original On2 tarball anywhere to confirm that. I just did some spelunking into their old SVN repo, the first few commits seem to be him checkpointing as he's working his way through munging the original files. The alphas just add library glue and their parochial container format fuckedness. The library infrastructure changes a lot more towards 1.0 but it doesn't look like any of the real codec implementation changes at all. http://svn.xiph.org/trunk/theora-old/
There being nothing absolutely forcing independent rewrites just means everyone sticks with one really shitty implementation they don't understand very well, instead of there being a whole spectrum of implementations competing with one another and calling them on their shit — that's how you get implementations like x264. DarkShikari has sassed the crappy commercial h.264 implementors, but he's got vitriol for the single-implementation proprietary codecs.
I'd love to see if someone can find anyone that really used VP3 pre-Theora, because I can't. There's announcements about them making the decoder available through various channels, and then they open-source it a year after 3.2 was shipped. The only thing I can find is this press release touting On2's use of it on a dot-bomb contract: http://www.on2.com/index.php?id=486&news_id=399
VP4 and VP5 fared only a little better, getting distributed in Winamp and Realplayer and getting shelved after a year. VP6 made them huge piles of money after it was bundled in Flash. VP7 got used for Skype's video chat. VP8 appears to complete the circle, with nobody using it that I can find.
Windows 7 was released a year ago. MS is shipping IE9 for Vista, so all those users will probably get the DirectShow codec. I think if you get it if you install the Zune software (it's always been supported on the hardware), or the Media Center stuff from the last several years. The Xbox 360 has shipped it since 2007.
I knew Microsoft were MPEGLA members (they have a huge stake in the VC-1 pool, after all), but I hadn't noticed that they have a big stake in the AVC/h.264 pool as well (Apple has one patent in it).
In the meantime though they have one of the few mobile systems where you can add your own system level code to support video and audio codecs of your choice so it's not all bad.
FFmpeg has had an independent VP3 and Theora decoder for years. The history goes back to 2003. The source is here: http://git.ffmpeg.org/?p=ffmpeg;a=blob;f=libavcodec/vp3.c
The claim about VP3 never being licensed to a customer is pretty ridiculous. Do you have a source?
I just found that libavcodec implementation today — It looks leagues better than the Xiph implementation, but none of the FOSStard projects I've seen use it — most link directly with liboggplay, or if they're transcoders use ffmpeg to decode the input to feed to libtheora.
That's just the thing: I can't find a source to the contrary. On2 never bragged about licensing VP3 to a customer, just distribution of the decoder through Apple and Real's auto-download mechanisms, and one in-house hosting/consulting deal with TheStreet.com in 2000.
FFmpeg has an independent decoder but for encoding it uses libtheora. The FFmpeg decoder has traditionally been slower than libtheora and didn't implement all of the Theora spec. It implemented VP3 plus the part of the spec that the Theora 1.0 (and earlier) encoders produced, but failed to decode spec-compatible output from the Theora 1.1 encoder (which libtheora 1.0's decoder handles just fine). There has been a lot of development of the FFmpeg decoder recently, so most of these issues are fixed. It's possible that the decoder is faster than libtheora now (as of the last 2-3 months), but I haven't benchmarked it.
I don't own a smartphone; if I did, it would never ever be an iPhone. I do own a macintosh laptop, but run Linux on it.
The reason I think the submarine patent is fake is that submarine patents are a risk for H.264 as well. MPEG LA are laying low until H.264 is widespread and they can really apply the thumbscrews; who know how many dozens of other companies are using the same strategy, biding their time until payday?
So why should they use Theora? Are we really making ideological arguments for technology decisions now? The way to stop patents from ossifying the tech industry is to stop filing patents. To do this, people like us are going to have to start pushing back in our companies and displaying prior art whenever the subject of patents comes up with corporate lawyers.
Meanwhile, Mozilla is a corporation. They're a big kid making sums with an "m" at the end. They're one of the majority shares of the browser market last time I looked. They're going to have to start to play the game like a real company and stop expecting everyone to softball them. Already they're behind on the technology front; I only see Chrome and Safari on every hacker's screen that _I_ see these days. If they keep expecting the industry they've so eagerly entered to coddle them, then their future prospects are dim at best.
There can be only one majority share by definition.
H.264 is great, and I look forward to being able to use it in 15 years or so[1]. But the only reasonable codecs I can use today are Theora and Dirac.
[1] http://arstechnica.com/open-source/news/2009/07/decoding-the...
Strangely enough, my gripes with Firefox have driven me to Opera, despite the "cute but useless" label you have slapped on it in such a cavalier fashion.
I'm guessing you are in the US since their denizens are famous for assuming the world stops outside their borders.
Opera + Chrome + Mozilla (i.e. Theora supporting) market share varies by region but is probably over 50% in every european country bar the UK and that will probably topple with the browser ballot.
Why do Opera users always say something like this? "Opera (and the important browsers) has some huge market share!" 0.2 + 18 + 43 > 50, but the 0.2 really doesn't matter.
This is important in the case of say Russia in which the top four browsers are Opera with 32.8%, Firefox with 30.8%, IE with 28.43% and Chrome with 5.71% (data from http://gs.statcounter.com/)
Just looking at the Firefox stats here and ignoring Opera would be highly misleading regarding viability of Theora in this market which is near 70% (assuming up-to-date browsers).
A bit more than 0.2
Silverlight runs on top of IE6. Silverlight 3 has support for "plugable media codecs", which means that you can stream Theora/OGG content in Silverlight (I don't know if it can be hardware accelerated ... but it would work for non-HD content anyway).
Silverlight also has good browser/JS interoperability, which means it is possible to add support for HTML5 Theora in any IExplorer version without even asking the user if it wants to or not.
I couldn't find better references, but see here ...
http://www.atoker.com/blog/2010/02/04/html5-theora-video-cod...
http://tirania.org/blog/archive/2009/Mar-23-1.html
Penetration is already pretty good, and I'm pretty sure that within the next 2 years all IExplorer users will have Silverlight installed (Microsoft can always push it using their update mechanism).
You could do the same in Firefox ... add support for H.264 by using a Flash or a Silverlight applet in combination with a JS script that manipulates the HTML5 tags and communicates with the applet.
Since Silverlight is also running in Safari, you can add Theora support to it too (wouldn't work for iPhones, but still, it's pretty cool).
And it's all transparent. No confirmation dialogs.
It all depends on penetration rate of Silverlight of course, but recent stats (from riastats.com or statowl.com) puts it at ~ 45% ... jumping 10% from September (probably because of events like the Vancouver Olympics requiring it).
So web developers that are looking for a solution to streaming media that's standards compliant, can just do something like this.
Pretty ironic that the technical solution for this new format war comes from Microsoft.
I'm not sure if there's anything for Theora at all and I don't think there ever will be, considering that Silverlight can legally play back H264 out of the box anyway and anyone who does stuff in Silverlight (and generally Microsoft stack) is probably a pragmatist and not an ideologist who worries about the "freeness" of codecs.
Of course the current implementation sucks, because it's an abandoned port of some Java code. But if someone cares enough about this, it can be implemented.
And you wouldn't need to be someone that does stuff in Silverlight ... all is needed is some Javascript/applet stored on some CDN that you can just drop in your HTML.
As far as ideologists go (thinking about services like Wikimedia here) ... what's better?
Using a proprietary plugin for those proprietary platforms that don't have Theora or using a patented format?
Life is full of compromises, you can't have it all.
From a consumer standpoint, not playing the video format everyone else plays goes against why so many started using FF in the first place.
I don't care if Theora is great, it's not what people are using right now. Maybe Mozilla can fight this battle on the next go-round, but right now they're the odd man out in a split which has all major browsers and many many content creators on the other side.
If Mozilla was Microsoft they could maybe try this, but they're not, and I think many people are frustrated by this video thing because to people who "just want good software," that was the message behind adopting FF from day one. Not militant idealism or everything should be free hippie coder talk or anything else - the impression they gave at least, was of practical and clean decisions to uncomplicated the lives of average users. Sometimes that means going with the flow, even if only for the time being.
The moment they reintroduce "why doesn't this just work" into the equation, they fail at the expectation they spent so much trying to create when Firefox first caught on. This fight is weird because it feels like "Mozilla the ideological open source organization" is battling against "Mozilla the practical and uncomplicated software for your previously complicated and annoying life" marketing campaign.
It won't cause them any sort of enlightenment, but it will make me feel a bit better.
Sure you could just offload the problem to the operating system via something like GStreamer but that just moves the target, it doesn't eliminate it. It just means anyone who distributes your OS gets into trouble rather than your browser distributor.
This is about eliminating the possibility of submarine patents for an essential feature like video, not just moving the target around.
Open Solaris tries to get around this, by getting you to pay for the codec after install.
Of course not paying is the ideal outcome, for most consumers.
Surely it's not hard to make an operating system and browser that makes it almost transparent to install a codec or bit of software.
I agree, get gstreamer or something else to work seamlessly. And at the same time, give me the ability to turn the damn thing off. I can already imagine, the state of web pages to come, it will be like a license to put video adds all over my webpage, and drag my cpu into hades.
I don't see anyway that FF could compete against them all if people can't watch videos in the browser.
Additionally, they are all owners of massive content sites that will be able to distribute the content as well, so it's a win win for them. They beat out FF as a browser and they beat out rival content distributors.
mozilla is in no position to be directly supporting h264, to suggest otherwise is just naive. its not a free codec and they simply can't afford to bet their future on the liability of massive royalties when the licensing regime changes (and it will).
their reasons for not indirectly supporting h264 via the OS is in my view valid but weak, would assume that this will be overcome with an extension of some sort in the future.
in any case encoding video twice really isn't a big deal.
Being an employee of a one of the largest online video providers, I can assure you that both we and our customers see multiple encoding formats as a big deal.
People could (and did) create uncompressed GIFs to avoid the patent risk. For obvious reasons, uncompressed H.264 is not useful.
The last GIF patents expired in 2006 (the first, in 2003 after the 1.0 version of the Mozilla App Suite)
http://en.wikipedia.org/wiki/Graphics_Interchange_Format#Uni...
what do you mean?
If anything, Mozilla's stance towards H.264 is an attempt to avoid the web ending up in a similar situation it did with GIF, where the format was deeply entrenched before the companies controlling the licensing began asking users to pay license fees. The MPEG-LA's recent announcement that internet streaming would remain free until 2015 is a direct attempt to achieve further entrenchment of the format. There is a very real possibility that they will ask for licensing fees come 2015. And we have no idea how much they might cost. Even with free streaming, most of the people in the video production chain need to pay license fees to the MPEG-LA right now.
Every major operating system on the market today (including Linux) has a media framework with support available for H.264. Mozilla's policy is to refuse to delegate to the OS for media handling, largely so that they'll have a political bargaining chip to try to push Theora on everyone else.
In other words, this is not a pragmatic or economic decision by Mozilla; it is purely an ideological decision, because they could -- if they chose -- support H.264 video easily and at zero financial cost to themselves and their users. What we should be talking about, then, is whether this is a good ideological stand to take.
(and, personally, I think it's the wrong stand at the wrong time; Mozilla should be holding off from making any decisions until the Bilski case is decided, because it may well turn out that there's no such thing as a software patent in the US)
According to http://www.streaminglearningcenter.com/articles/h264-royalti... there are "royalties for pay-per-view or subscription video". And this is just what is happening in the internet all over the place. Firefox can't even know if you look a "free" broadcast or just paid for an online stream, so they just have to pay to support this codec?
And in the end, it's not at last the uncertainty about the codec. MPEG-LA could just have said "Alright guys, browsers are free of charge, go ahead with HTML5, we'd like to see our codec in HTML5". Afaik, they didn't. Because there probably is quite a good amount of money to be earned from fees.
Screw that H.264 stuff, support theora or dirac and problems are solved.
But since you mention it:
MPEG-LA could just have said "Alright guys, browsers are free of charge, go ahead with HTML5, we'd like to see our codec in HTML5". Afaik, they didn't.
Personally I'm against having HTML5 specify any codec of any sort. HTML 4 and XHTML 1.0 are each over ten years old now, and HTML5 won't be broadly usable as a replacement for at least another year or two; given the rate of development in video codecs, mandating one in a spec with that sort of expected lifespan would simply be stupid.
But it's worth pointing out that MPEG-LA is currently exempting H.264-encoded online video from royalties (so long as it's provided free of charge to users -- hence YouTube and other video sites don't have to pay every time a video is played), and will continue to do so until at least 2015 (by which point the whole question of software patents may be moot), so rushing to draw lines in the sand now is -- as I already said -- rather premature.
Ok, so you don't want to specify the codec. Technically a good reason. But think about it, what will happen then? MS will support wmv by default, Apple will support Quicktime by default, Mozilla theora. This is a freaking nightmare for every enduser! Now on a desktop you can probably tell the user to install the correct decoder (my family/mother/older people certainly would never be able to do that!). But on a phone? So Windows Mobile 7 will ship with "hardcoded" wmv support? iPhone with quicktime?
As i told you, this is not technical, it's political. Now i don't know you, but when you have ever worked in a bigger revenue driven software company every f*cking decision is first made by money. It doesnt matter if something is technically the best solution as long as another solution provides a "benefit" in terms of money, marketshare, whatever the manager thinks will drive the competition away. MS in particular has proven to be driven by such decisions in the past, why would they change now?
Vimeo doesn't charge to watch videos, so far as I know, and that's what triggers the licensing exemption.
But think about it, what will happen then? MS will support wmv by default, Apple will support Quicktime by default, Mozilla theora.
If HTML5 were to mandate Theora support, that part of the spec would simply be ignored by browser vendors who don't want to support Theora. Thus the mandate or lack of mandate in the spec produces no practical difference whatsoever in the end result: Apple's browsers would do H.264, Mozilla's browsers would do Theora, etc., etc.
But on a phone?
Again, it seems unlikely that anyone other than Mozilla will bother with Theora on mobile devices. Apple and Nokia have already taken pretty clear stances against supporting Theora, for example, so what good would it do to put a mandate in the spec? It'll just be ignored.
As i told you, this is not technical, it's political.
You seem to have a misunderstanding of how web standards actually work; without buy-in from the companies which will implement them, the standards might as well not exist at all. That's why HTML5 currently doesn't mandate a video codec; originally it required Theora support, but several major players basically said "if you leave that in there we're just going to ignore it".
Since this is a recurring problem with what you seem to be saying, what's your solution? Any approach to video codecs must take into account the fact that browser vendors can't be forced to ship an implementation of any particular codec, and will make their own decisions independently of what you might like them to do. As far as I can see right now, delegating to the operating system's media framework is the only way to get the sort of broad support that's needed, since those frameworks have to ship with a wide range of codecs already.
(and, honestly, the manual codec install really only turns out to be an issue with Theora; Windows and OS X both ship pretty much everything else out of the box)
You make it sound like this is a hypothetical scenario, but the codec mandate was removed from the HTML5 spec last June.
The reality is that Microsoft will support h.264, Apple supports h.264, Google supports h.264 (and Theora). Opera currently supports only Theora, but their implementation can support h.264. Mozilla is the only browser vendor that willfully forbids its users from viewing h.264 (or any other format but Theora) in <video>. In addition: Flash, Silverlight, and QuickTime all support h.264.
Bear in mind that the <video> tag has always been codec agnostic and able to support multiple codecs in the same tag. The codec mandate was only to specify a common codec across all browsers, but there is no point in mandating something that won't be implemented.
thats what i meant by support via the OS. sorry i thought that that was clear?
linux generally doesn't ship with h264 and html5 offers video features beyond just embedding a video smack on a page. really think its more complicated then a "pure ideological decision".
but thanks, point taken and i will try to make my point more clear in the future.
I think I'd argue one proprietary format is worse than two in terms of lock-in, monopoly power and misaligned incentives.
* Fork?
* H.264 HTML Video support via a plugin?
Why aren't these valid solutions?
It's purposefully architected to make a plugin very unsavory — you could do it with a plugin/extension that inspected every DOM for failed <video> embeds, dynamically replacing them with an <embed> of its own NSAPI plugin. You'd be guaranteed to get FOUC, poor detectablity, and regular breakage. At that point the author is better off just seamlessly falling back to Flash.
I'd like a citation for this please, or at least some synthesis based on some explicit rationale (which is what I expected on the with that em dash, instead of a non-sequitur).
This was made explicit when us proles discovered that Mozilla has had a GStreamer <video> implementation for two years, for use in their mobile port so that they have a hope of playing video in real time:
> My exclusive focus for this GStreamer integration has been to make it work with Fennec. Not enabling it in Firefox on platforms where GStreamer has been ported to, is as far as I know a political decision. https://bugzilla.mozilla.org/show_bug.cgi?id=422540#c105
Architecting against plugins is not new in the free software community. RMS purposefully designed GCC so that you couldn't interface with its internal representations to make it impossible to have independent language frontends, optimizers, or target backends. That led directly to ECGS, a complete fork of GCC away from the FSF's control after they let it languish and refused patches — the FSF lost and eventually blessed it as the 'real' GCC. Its closed architecture is the primary motive behind LLVM's ascendancy.
It's like a shareholder owned corporation deciding that making money is someone else's problem.
My problem with comments like the one I was replying to is that they refuse to see this; there is an easy solution to the financial issue of codec licensing, but it keeps getting thrown out as a red herring, when the focus should be on whether Mozilla's ideological stance is a good thing.
Nah, just hadn't read up/thought about the issue enough, thanks for explaining. I'm actually a bit of a supporter of software patents, as they give business reason to invest boatloads of money in things like H.264 to begin with.
Only Windows 7 does.
Mozilla is asking us to side with them based purely on ideology and an impact to their bottom line as a corporation. And Mozilla is not a tiny garage operation anymore.
I imagine the HTML5 video tags are pretty deep in Gecko, but surely they could 'pave the way' with a clear interface for such an extension. And then use one that is developed by others. Isn't that one of the advantages of having a standardized <video> tag?
Reading this: http://shaver.off.net/diary/2010/01/23/html5-video-and-codec...
It sounds like Mozilla is worried about (a) encouraging a non-free web and (b) passing on licensing fees to other people who use their product downstream. But surely there is less risk in being 'side-stream' so to speak with licensed technologies, esp. under a standardized markup. Anyway, curious legal issue.
I've already paid for my H.264 licenses. Now I just want to use them. The PC to my left has a video card with licensed H.264 that I paid for and free software that harnesses it, the Mac in front of me has both a video card with licensed H.264 and a licensed software decoder and I paid for both, the Windows 7 VM running in the Mac even has a licensed H.264 decoder that I paid for, the phone to my right has licensed H.264 that I paid for, heck the linux-based set-top box in the living room has hardware in it with licensed H.264 decoding and as I'm sure you can guess I'll point out that I paid for that license too. :)
"If H264 become standard, every browser will have to pay the license fee."
Why? I just want Firefox to let me use the licenses I have already paid for.
All they have to do is defer to the appropriate operating system -level decoding support as many have suggested. That they are refusing to do so suggests to me that this has nothing to do with licensing fees and has everything to do with something else we've not quite uncovered yet.
At the end of the day, though, unless the Mozilla folks change their course I can easily see techies supporting family and/or business by saying "just install Chrome" the same way they used to (and to an extent still do, I suppose) say "just install Firefox" when their supported userbase complained about IE. The real risk now is that even if in the end Mozilla's issue is purely one of ideology it won't stop them from having become irrelevant in the process.
That might not be an unreasonable approach concerning some other aspect of video on the Web, but has only bad consequences in this particular debate.
As you can see, this debate involves Mozilla and co. versus detractors over the following two non-exclusive decision problems:
Support Theora? Support h.264?
But it's incredibly important to keep in mind the greater issue here motivating these questions, which is the desire for a baseline video format. As soon as anyone suggests delegating video decoding to the operating system, they're clearly divorcing themselves from this particular debate. Perhaps that kind of delegation is a solution to a problem concerning another aspect of video on the Web, but not this one, because it gains nothing in the pursuit for a baseline video format.
Support Mozilla for making the tough, but correct choice.
As for freeing On2 codec, google made it clear on their press release when they bought on2 that having an open video standard was primordial for the web. And again, it's in their interest to make the web the best platform possible, and having a free and open video codec usable by all is a huge part of achieving that goal.
Letting the On2 codec locked in a drawer would be a huge mistake, it would help mpeg4 be the ubiquitous standard making any alternative irrelevant and useless (like vorbis or aac were with mp3, even though vorbis and aac were actually better). If there is any time to make use of On2, it's now and that's by making it open source.
What we could use is their independent patent portfolio.
If the decoder is a paid for plugin. Then it makes sense for it not to be shipped.
Why can't Google buy out the h.264 tech and give it to us all?
Why do we need the video tag anyway?
Doesn't it make more sense to use existing codecs that already sit on the system? Why bundle the codecs in the browser, wouldn't it be better to work on a common architecture that can interface with codecs?