H.264 licensing revisited and explored

I’ve got a backlog of stuff here, so some of these might be a bit short.

First up, revisiting video codec patents, which I originally wrote about in February.

A recent post on librevideo.org was also written after Ben Schwartz’s post “No, you can’t do that with H.264” as mine was. From the article:

In the interest of clarifying the ambiguous claims regarding the licensing terms of using the AVC/H.264 video technology, Libre Video has taken the time over the past few weeks to contact the MPEG-LA directly, the licensing authority responsible for administering the patent pool for the H.264 specification. We have asked them various questions related to what we feel are important issues surrounding the terms under which normal people are permitted to use hardware products that they have purchased and the resulting multimedia content created with them.

Obviously, there is way too much to quote here, but the important conclusions to draw from Libre Video’s correspondence with MPEG-LA are:

  1. The simplicity of the analog media era where one buys, say, a VHS tape deck and can pretty much do what one wishes with it are over. Software patents turn what should be simple tasks into a legal minefield ready to explode under those that least expect legal obstacles.
  2. Even professional products do not include a professional H.264 license. This includes, say, Final Cut Pro.
  3. The AVC licensing only applies to an end product, and can be avoided by transcoding the video to, say, Ogg Theora or the upcoming VP8/WebM.
  4. The patent licenses required to legally decode H.264 make it impossible to write a free software (GPL) H.264 decoder. This is most unfortunate on the part of MPEG-LA and the companies that have chosen to embrace this standard.

I’m disappointed in MPEG-LA and the companies which formed it. This is perhaps the biggest step backward for user freedoms since the DMCA; many otherwise law-abiding free software users will wind up breaking the law just to convert their H.264 video to formats like Ogg Theora.

I propose the following solution:

  1. For personal use/non-profit videos, MPEG-LA waives the royalties on software-based decoding of H.264 for the purposes of conversion to another video format.
  2. Apple, Microsoft, and other developers voluntarily rename video editing products with the word “Pro” or “Professional” in the name (such as Final Cut Pro) to a new name not including the words “professional” or “pro” and putting a prominent disclaimer on the box: “The H.264 decoder and encoder are licensed for personal use only. Use of the H.264 video format allowed by this software product may require additional licenses from the MPEG Licensing Authority (MPEG-LA).”

These are the fair things to do. The first would make the H.264 decoder in ffmpeg legal for most of its uses. Maybe MPEG-LA would need to raise their royalties to compensate for “lost” revenue. I have news for MPEG-LA: many of the users of ffmpeg would never pay you one red cent anyway. A few are effective scofflaws, but most are easily convinced that having to break the law to convert their home movies to another digital video format without paying even more money is at best ludicrous and at worst insane.

The second just makes sense. This, of course, is exactly why the companies in question will never do it. But that’s another rant for another day.

Submarine software licenses: the “gotcha” of video codecs

Ben Schwartz wrote a very nice piece about proprietary video codecs, in particular H.264, MPEG-2, and MPEG-4. In essence, those who have purchased software like Final Cut Pro with the idea of using it to make commercial video have fallen into either a carefully laid trap by the patent holders or a simple oversight on the part of companies like Apple who bury things like this well within the fine print.

Ben’s commentary below the relevant license portions says it all:

Noticing a pattern? You have a license to use their software, provided you don’t make any money, your friends are also all correctly licensed, and you only produce content that complies with the MPEG standard. Using video for a commercial purpose? Producing video that isn’t within MPEG’s parameters? Have friends who use unlicensed encoders like x264, ffmpeg, or xvid? Too bad.

But it gets even more troubling for free software users (Ben here uses the term “open-source” but it applies equally):

This last thing is actually a particularly interesting point. If you encode a video using one of these (open-source) unlicensed encoders, you’re practicing patents without a license, and you can be sued. But hey, maybe you’re just a scofflaw. After all, it’s not like you’re making trouble for anyone else, right? Wrong. If you send a video to a friend who uses a licensed decoder, and they watch it, you’ve caused them to violate their own software license, so they can be sued too.

This is probably one of the strongest cases against software patents I have come across. Thankfully the EU rejected software patents as of last time I checked, and hopefully will continue to do so. The US seems to be the only place where one can patent a computer program, clearly outside the scope of what patents were intended for.

Patents should be restricted to physical inventions. It’s absurd to be able to patent not just a computer program, but an entire class of computer programs which do the same thing.

To be fair about it, those who hold the patents have a strong disincentive from chasing down everyone who infringes on the patent. In addition to being cost-prohibitive, it is an almost certain PR disaster. This does not excuse what amounts to legalized extortion.

The problem runs even deeper than “just don’t use H.264 or other patented codecs.” The rather low level adoption of patent-free codecs like Theora and Vorbis in consumer electronics equipment often makes the idea a no-go. Most digital audio and video players will not play Theora or Vorbis files. (Vorbis was designed as an MP3 replacement.)

Making a DVD or Blu-Ray disc that plays in most off-the-shelf players simply cannot be done without infringing upon the patents. Troubling here is that the Blu-Ray standard (and not that it matters now, but HD DVD as well) easily could have been written to allow the use of Theora or even Dirac. The decision to not standardize on a patent-free codec was almost certainly driven by greed; the same corporations which make the devices get most of the patent royalties on H.264, MPEG-2, MPEG-4, etc.

A flagrant FUD foul on Ogg Theora

Greg Maxwell posted an essay in response to an implausible claim by Google employee Chris DiBona on the WhatWG mailing list. That claim, which can be seen as FUD-filled, in part, reads:

Comparing Daily Motion to Youtube is disingenuous. If yt were to switch to theora and maintain even a semblance of the current youtube quality it would take up most available bandwidth across the internet.

I, like Greg, will concede that Theora has room for improvement, still; Greg characterizes Theora as “competitive” when judging “[b]y conventional criteria” and I would agree.

Greg also states:

I do not believe Chris intended to deceive anyone, only that he is a victim of the same outdated and/or simply inaccurate information that has fooled many others.

Then, he goes on to compare the same video converted to YouTube format versus the same video encoded to a comparable Ogg/Theora+Vorbis file (the Ogg/Theora+Vorbis files are slightly smaller). The reference footage he uses is the first 5 minutes (approx.) of Big Buck Bunny.

I believe the higher resolution Ogg/Theora+Vorbis file to be at least as good as its YouTube H.264 MP4 counterpart; apparently I’m not the only one. (I have not viewed the lower resolution files yet.)

Ogg Theora was in alpha for so long after its initial announcement that many people forgot about it or never took it seriously. As of 2008-11-03, the public release (i.e. production quality) version of Theora is out there; combined with the previous releases of Vorbis, Speex, and FLAC, most needs of unencumbered audio and video codecs are satisfied. The only thing Theora does not do well is high-bitrate/archival-quality video; the future release of Dirac as an Ogg-contained codec is intended to fill this gap.

Some notes for those confused by some of the above:

  • The use of “Ogg/Theora+Vorbis” is a more technical way of specifying what exactly is in a “standard” Ogg Theora file. Theora is a video codec; without Vorbis one would only have a silent movie. It is also possible to create Theora+Speex or even theoretically Theora+FLAC movies.
  • Vorbis is roughly comparable to MP3Pro, AAC (Advanced Audio Codec, used in high-bitrate form on DVDs), and WMA (Windows Media Audio). Vorbis usually outperforms MP3 given identical bitrates.
  • Speex is a lower-bitrate codec used for speech encoding. It can be used with the Ogg container format for storage but is more often directly transmitted over the Internet (via UDP/RTP).
  • FLAC is a lossless codec primarily used for archival purposes. You may find it easier to think of it as a “gzip (or bzip2) for audio.” The reason for FLAC is that Vorbis and Speex are both lossy (the decoded output is not the same quality as the input).
  • Ogg is a container format, similar to AVI, Quicktime, Matroska, etc. In theory one can also embed Theora, Vorbis, etc. in these other container formats; outside of Matroska this is rarely done and sometimes fraught with problems (particularly in the case of Vorbis in AVI).