Hacker News new | past | comments | ask | show | jobs | submit login
Christopher Blizzard: HTML5 video and H.264 – what history tells us (0xdeadbeef.com)
97 points by jmillikin on Jan 25, 2010 | hide | past | favorite | 49 comments



The amount of intellectual dishonesty here is staggering.

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?


It's not that I don't believe you, but it would be great if someone would properly encode that file as MP4 so we could see the quality and size for ourselves. I'd do it but I don't know shit about encoding video.


Encoding it with a good encoder would require access to the source, which I don't feel like finding if it even exists on the internet.

So instead, here's the same file with the junk stripped out: http://www.mediafire.com/?yuwj5zmmw4m


That works just as well, and it certainly proves you're right.

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.


My guess is that the author wasn't the one who encoded either video, and the guy who did didn't know what hinting meant but enabled it anyway when exporting from QuickTime. (hinting is only ever used by Darwin Streaming Server, and only if you're doing live streaming from a pre-recorded file.)

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.)


So what do you think about his other 5000 words?


So his history is GIF and MP3, two of the most successful and widely used formats on the internet. Two formats that users don't care/know about the IP issues and would freak out about if their apps didn't continue to work with. Ask Apple how bummed they are for boosting MP3.

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.


> Mozilla makes a decent browser, I don't need them to fight my moral battles for me.

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.


It wouldn't be illegal to allow plug-in support like they do for Flash currently or to dip into system APIs when available. Nearly every computer made today ships with native (and legal!) support for h.264. They don't want to because they don't believe in h.264 for moral reasons.


That would make firefox inconsistent for different users that don't have the codec installed and it would make it look bad. Imagine passing a link to a friend that is not able to read it because of lack of codec, he'd blame it on firefox. So, that's not moral either.


It would be no different than the situation with Flash. Not supporting it at all makes the situation worse--you pass the link to a friend and there's no way to view it.

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.


It's not the same because Flash is available for free and on all platforms. Not the case with h.264.


>Google has a near-monopoly in online video thanks to the ubiquity of Youtube. This means that they are the effective arbiter of codec choices for HTML5 video

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.


My issue is this: I don't want my browser deciding what plugins and/or codecs I am allowed to use.

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.


There were no alternatives to GIF; no one did what GIF did. It seems to me that if every major browser supports Theora and Vorbis in html5 video we will have come out ahead of where we were with GIF: Licensing policies won't change because if they did everyone could switch to Theora. The only problem, then, is getting Theora support in Internet Explorer (it's already in FF, Opera, and WebKit).


Actually there was MNG.


proprietary H.264 codec

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.


All the definitions I can find for "proprietary" allow patented inventions to fall under them. Standardizing and documenting an algorithm or protocol does not allow developers to use it freely and without royalty.

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.


How is an algorithm proprietary if I can go online to the website of the ITU, a division of the United Nations, and download a copy of the standard and go write my own implementation?

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.


You can implement it, but you are not free to distribute your implementation in binary form, and users are not free to use your algorithm without the consent of the patent holders. That is the definition of proprietary. Regardless of the availability of the specification and full, compliant implementations, you are not free to distribute this code in the United States of America.

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.


users are not free to use your algorithm without the consent of the patent holders.

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.


re: H264

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:

http://en.wikipedia.org/wiki/H.264/MPEG-4_AVC


How is an algorithm proprietary if I can go online to the website of the ITU, a division of the United Nations, and download a copy of the standard and go write my own implementation?

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.


Actually this is a case of mixing up "IP" laws ... trade secrets are very different from patents, although patents were partly introduced to encourage companies to open up and to discourage the use of trade secrets.

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).


Or it could be that "open" and "proprietary" are two directions on a continuum, rather than binary, mutually exclusive qualities...


Well, sure, you could say there are different degrees of "proprietary," but there's really only one "open":

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.


Under this definition, what happens when Theora gets enough acceptance that one of the major patent holders investigates and determines that it incorporates something they've patented - do we suddenly start calling it proprietary or do we describe it the same way we would describe H.264: "open [or closed] source implementation of a standard algorithm which has patent restrictions in some countries"


Theora is based on VP3 (with few and documented modifications) just like VP6 which has been in used on youtube for years. So if theora is infringing any patents, so is VP3 and therefor VP6. In other words, if I had any patents on VP6/VP3/theora I would be suing the hell out of youtube and everybody else. Why would I wait for theora to be mainstream? Doesn't make sense.


YouTube was't an attractive target before Google bought them (no money). Now they are but they're using H.264 and presumably a full licensed toolchain for it, defended by a lot of industry players in addition to Google's deep pockets.

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.


Youtube never used VP6. They became a internet giant using an even older and crappier proprietary codec and even today H.264 fans will tell you that their encoding using that codec are crappy. I think there's a lesson there, but I'm not sure what it is.

VP6 is supported by Adobe Flash, so they and various others could have been sued though, so your basic point stands.


Checking this out on Wikipedia, I was surprised by how many sites I'd heard of weren't using H.264, but VP6 instead, I'm guessing for royalty reasons that don't apply to the big pockets of Google:

http://en.wikipedia.org/wiki/Comparison_of_video_services#St...


Theory: Due to Google beginning to compete with them, Mozilla has sought alternate revenue streams. One of these streams is Adobe, who in the face of competition from advanced Javascript support, Canvas elements, and HTML video, has payed the Mozilla foundation to pull the rug out from under the last lynchpin in clearing the web of flash: video.

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.


... except they get a lot of money from Google, not so much from Adobe, and Mozilla is nothing like a traditional corporation- they would have very public issues dictating policy like that.


...people don’t understand that something very dangerous is taking place behind the scenes.

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.


Sadly there is a submarine patent related to vorbis.


Really? What's the patent number?


[deleted]


You linked to the Theora page, not the Vorbis page.

Also, just because Xiph says there are no other patents doesn't mean there are none. It takes an incredible amount of IP research in order to be confident of such a claim. Probably only Sun has done enough to make this sort of conclusion--they did an incredible amount of IP research for the development of Sun OMS. The spec, though terrible, is worth a read just for its coverage of IP-related issues.

This is primarily a problem for corporate adoption: companies are scared shitless of submarine patents. Many would rather have the devil they know than the devil they don't. It's the same problem with promoting corporate use of open source software: many companies would rather have a proprietary license that makes them feel secure than even a BSD license that guarantees nothing.

Even if Theora and Vorbis are both actually patent-free, the mere fear that they aren't is enough to scare many companies off.


Are you suggesting that a codec known to be patented is automatically immune to submarine patents? Or just that paying for a patent license somehow protects you from submarine patents? Because as far as I know, neither is true. Submarine patents are a threat to use of virtually any technology, unless you get some sort of protection agreement when licensing it.

I think you're correct about the psychological effects, though.


I may be mistaken on this (it's been some time since I've read a relevant license), but I believe that most multimedia licenses have wording to the effect of "we own (or have licensed) all of the relevant IP around this technology". In that way, if some submarine patent surfaces and is used against a licensee, they have legal recourse against the original license authority.


I deleted my parent comment - it's getting late and I made a whole bunch of mistakes there (as you rightly pointed out).


So what if a company did the research and found that there was a patent. There are various reasons why they would not announce it.


I think the number 1 thing that Ogg could do to stimulate adoption is to change its ridiculous name.


It boggles my mind that a video codec, whose name consists of two actual human names can be continually ragged on for its name when the competitors are things like mp3, AAC [+|HE] LC, MPEG-4 part 2, MPEG-4 Part 10, H.264, Advanced Video Codec. And those last three are all the same thing!


All the rest are neutral technical names. And mp3 sounds kind of nice to my ear; easy to remember and rolls off the tongue.

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.


It's not appropriate to downmod someone for an opinion!

If you disagree with something, post a reply. A downmod is for spam, and (sometimes) for wrong information.


Maybe it's someone with the surname Ogg who doesn't like the opinion that their family name is "actively stupid-sounding word, reminiscent of a particularly moronic caveman's grunt"?


Yeah, you’re right, and I apologise to the OP. Still, if the least of your worries is your name then you’re doing well. There are plenty of other problems that need to be fixed first and foremost before a rebranding campaign is considered.


No, the flag option (accessible through reply) is for spam.


That same argument has been made about tons of companies/products, e.g. Google and Wii.

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.




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

Search: