Christopher Blizzard: HTML5 video and H.264 – what history tells us
0xdeadbeef.com
0xdeadbeef.com
On the quality side what we’ve been able to do at Mozilla, with the help of the rest of the Xiph community, is to show that even though Theora is based on older, royalty-free technology, it does at least as well as H.264 in practice (although not always in theory.) If you don’t believe me check our Firefox 3.6 introduction video which is available in both Theora and MP4 formats. The MP4 version of the file is 13 and the Theora version is 8.2MB – about 40% smaller. (We actually think the Theora video looks better, too.)
Not only did he intentionally encode the MP4 really badly, which might be theoretically excusable--the MP4 file has two hint tracks as big as the entire video and audio stream, doubling the size of the file. In short, he intentionally bloated the file with junk data to make it larger.
Lying apparently means nothing when you're trying to promote your pet file format. Why are we letting these people be the voice of the free software community?
So instead, here's the same file with the junk stripped out: http://www.mediafire.com/?yuwj5zmmw4m
What I'm wondering is if this was done on purpose or not. If it was on purpose they're lying bastards, and if it wasn't on purpose, it seems they know jack shit about encoding, just like me, and should leave the technical discussion to those who know what they're talking about.
The bad encoder comes from QuickTime having the lowest quality H.264 encoder out of any commercial encoder (and all of them being worse than x264.)
Mozilla makes a decent browser, I don't need them to fight my moral battles for me. If they stick with this tactic I look forward to using the fork and waiting for Google's subsidy of Mozilla to end.
It's not only moral, it would illegal for them to ship patented technology as it would be incompatible with their license. Also, GIF patents have expired now.
Because of IE there will be rollback support to Flash for the foreseeable future, so the likely result is that FireFox users will miss out on the benefits of the <video> tag. Stupid.
I don't believe that to be true, and that the true arbiter of web technologies is client support. Look at CSS3, XHTML, Silverlight, or even the "q" HTML4 element which IE didn't support until IE8.
The world revolves around what the clients support. This is why Mozilla's decision is so important. You can bet that if tomorrow Microsoft decided to support one codec over another, you can bet that everyone would move over to that single codec, regardless of its technological merits.
I understand that they want to support free software, and that is laudable. However, if I intentionally install something on my computer that _can_ used, then I expect that to be used.
I just tested with Safari and I was able to play an mkv 720p file in a video tag because I installed Perian. That is how it should work.
Can people at least get their terminology right for once here? That isn't what proprietary means, and conflating "patented" with "proprietary" simply serves to confuse people.
Many free software programs are covered by at least some patents--most, I would say, simply given the size of the patent minefield--and I wouldn't call them "proprietary". It seems to me that "proprietary" has basically become an insult to be applied towards anything "less free" than what one wants to advocate.
A proprietary format has no standard you can freely read and implement. At best it requires signing an NDA and/or paying tens of thousands of dollars to look at--at worst it doesn't even exist, with the "standard" being "whatever the official implementation does" (see Microsoft Word for a great example of this). There are tons of these in video: RealVideo, for example, along with all of Microsoft's video formats before they finally opened up with VC-1. Others include On2's video formats (e.g. VP6), Sorenson's (SVQ1, SVQ3), and many others.
One of the biggest dangers of this conflation is the understatement of the dangers that proprietary formats can cause. There has never, ever been a lawsuit over an open source implementation of a "patented-but-standardized" file format--as far as I know, the common interpretation seems to be that the sellers and distributors of an application are responsible for any royalties, placing no restrictions whatsoever on the developers. See LAME, for example.
But proprietary formats are different. The law is very vague and conflicting on whether or not it is legal to even reverse-engineer such formats (it varies between countries as well). Doing so almost always requires access to the disassembled binary of the original application, which violates the EULA and potentially the DMCA. Developers can be hit with legal threats merely for releasing source code, as we saw with RTMPdump.
Of course, proprietary formats tend to be patented as well, resulting in a "worst of both worlds" situation.
Don't mix up the terminology, lest people be convinced that RealVideo or another proprietary solution is no more evil than a internationally standardized, albeit patented, option. The greatest accomplishment in internet video in the past 10 years has been moving away from that horrendous mix of Quicktime, Windows Media, and Real that was used on almost every site on the internet. Even if it means we've been stuck with Flash for playback until recently, it's better than that ridiculous mix of proprietary garbage.
http://news.ycombinator.com/item?id=1074237 has a great example of what happens when proprietary and patented are conflated: a piece of proprietary crap can be promoted in place of a free software solution.
One example of many from define:proprietary:
http://wordnetweb.princeton.edu/perl/webwn?o2=&o0=1&...
In this case, I believe Chris' terminology is correct. You are instead describing the difference between closed- and open-source.
For x264, an implementation of H.264, it is an open source implementation of a proprietary algorithm. In Theora's case, it is open source implementation of a free (as in libre) algorithm. RealVideo is a closed-source implementation of a proprietary algorithm.
ffmpeg's reverse-engineered Real Video decoder is an open-source implementation of a proprietary specification. Depending on the country and legal interpretation, the mere existence of this is illegal.
ffmpeg's H.264 decoder is an open-source implementation of a patented, but not proprietary, specification.
ffmpeg's Theora decoder is an open-source implementation of a probably-not-patented specification.
If a definition doesn't distinguish between something freely available for all to view/implement and something which cannot even be implemented without potentially falling afoul of copyright laws and the DMCA, it isn't a very good definition.
Microsoft has a patent on the openly-spec'd FAT filesystem and are still pursuing royalty agreements with distributors of FAT code:
http://arstechnica.com/microsoft/news/2009/02/microsoft-sues...
If software patents were removed from the picture in the USA, H.264 would cease to be a proprietary algorithm.
Edit: I'm updating this because the reply markers are slowed down to flamewar levels. :)
Re: consent of the patent holders, this is guaranteed by the MPEG LA but only in return for royalties paid. You need their permission, which is granted only by paying the royalty.
This is not true. The patent holders signed an agreement when creating the standard that requires them to license to you under reasonable terms. As far as I know, they cannot refuse. This is how the process is carried out for many international standards: nobody wants to risk one of the patent holders going rogue.
This is in contrast to something like FAT, which was created by Microsoft, for Microsoft, and is controlled entirely by Microsoft.
Quite honestly, I think many of the companies involved would welcome the end of software patents. The amount of legal wrangling they go through in order to avoid legal problems is tremendous, and for H.264, the fee is a mere 10 cents per unit for bulk licensing with a relatively low cap. Hardly enough income for them, IMO, to justify the hassle created by software patents.
Not all standards bodies require RAND terms, and not all RAND terms are 'reasonable' for individuals. You have to look into each standard and then to the assigned licensing agencies and what they charge for.
In the case of H264, the patent pool is licensed by MPEG-LA, and they're anything but free.
Here's the overview of the broadcast licensing terms:
http://www.streamingmedia.com/article.asp?id=10900
more data about licensing can also be found in the Wikipedia article:
Simple: your understanding of the definition of "proprietary" is incorrect. Keeping a technology secret is a sufficient -- but not necessary -- condition of it being proprietary.
Anyway ... "proprietary" means just what it says ... "exclusively owned by someone" under a trademark, patent or as a trade secret. So to say that H.264 is proprietary is actually correct.
On the other hand, H.264 is more open than Real Video, since you can get the specs of the format, an implementation is already available to you and the patents are currently reasonably licensed.
That said, the concerns of Mozilla are valid ... we could end up in the same situation as with GIF and MP3 ... although I don't think Theora has any chances to take over since it's technically inferior and H.264 is already accepted as a defacto standard (mostly because of Flash).
1. Secret spec, patent-encumbered 2. Secret spec, patent-free 3. Open spec, patent-encumbered 4. Open spec, patent-free
You can of course expand that out to include other criteria, but... you get the idea.
I'd argue that #4 is the only one that's really "open," though a case could be made that #3 is both open and proprietary rather than simply proprietary.
Of course there are those who believe #4 isn't really feasible and that some patent somewhere can apply to basically everything... even if the patent holder doesn't know it.
VP6 is supported by Adobe Flash, so they and various others could have been sued though, so your basic point stands.
http://en.wikipedia.org/wiki/Comparison_of_video_services#St...
I hope that the VP3 heritage is truly patent free but right now it's hard to say anything is patent-safe given the wretched state of our industry. Theora, in contrast, is not defended by anyone powerful and thus far hasn't been worth going after; if it starts to get accepted I'd be surprised if one of the trolls didn't try for danegeld.
Video codecs may change over time, but once you scrape flash off, it's going to be gone forever. Theora will never gain support. By refusing to support h.264 in the near term, Mozilla hamstrings support of HTML5 video and allows Adobe time to regroup their product strategy.
Fear.
This means that something that’s free today might not be free tomorrow.
Uncertainty.
But I, like many others, have reason to believe that H.264 will not be Google’s final choice.
Doubt.
Think about the fact that MP3 became a household word. Granted, it's an improvement over MPEG-1 Audio Layer 3, but it's not exactly catchy.
Ogg, on the other hand, is an actively stupid-sounding word, reminiscent of a particularly moronic caveman's grunt. Theora sounds OK but is ruined by the first part, and Vorbis is again a silly-sounding word.
All told the names remind me of the worst sort of childish open source whimsicality. They paint the picture of a bunch of nerds so intent on demonstrating their lack of care about marketability that they deliberately name their project the stupidest thing they can think of. Well it worked - they certainly affected the marketability, and here we are, with the developer who stands up in a meeting and says "so, what about Ogg Vorbis support?" looks and sounds like an idiot. Well done.
I don't even like having an .ogg file on my computer, the name annoys me so much. You might say names are irrelevant and maybe they are to you, but they're not to me.
If you disagree with something, post a reply. A downmod is for spam, and (sometimes) for wrong information.