It is well known that Linux distributions and devices tend to have problems supporting playback of a good number of media formats. Some people accept that as limitation of using Linux but that is not the whole story. To answer the title question, we need to take a look at how video is played from a file.
Video is a lot of data. Really - It's a whole lot. By raw math, a video that is 640 pixels wide, 480 pixels tall, and has 24 bits per pixel color depth, 30 frames per second, and 1 minute long is (640x480x24x30x60) 13,271,040,000 bits of data (1.66 GB) of data. That's a single minute of very high quality video NOT including audio.
Enter video compression. Compression software and hardware uses a codec (Compressor/Decompressor) to make the video smaller. Codecs can do other things too - such as optimize a video for streaming, keep track of chapters, and more. If you're really interested in this part of it, I suggest starting at the Wikipedia article and expanding your reading from there. In particular - you may wish to learn a bit more about the difference between a "container" and a "codec."
There are two parts to video compression and codecs that create problems for users:
First - Everyone thinks they can do it better. Microsoft, Apple, Real, and other third parties create their own and they don't like working well together. This means any individual user needs to have support for as many codecs as possible on their computer to consume all the content out there. The codec developers also like to patent and trademark their technology. They also enter licensing agreements with anyone who wishes to distribute hardware or software with their codec technology. This usually involves the manufacturer/developer paying the codec developer.
The second problem is that content producers want to protect their content. With that in mind, big codec "vendors" like those above create DRM protection built into their encoding and playback technology. The content producers then scratch the backs of the codec vendors by distributing content only in specific formats. Codec venders also don't seem to consider the Linux (or Linux device) market share to be strong enough to dedicate developers to providing a solution for those users. In my discussions with developers, even mainstream video codec support is cumbersome and limited. On a final note on this - When you add commercial software to a Linux distribution, it is no longer entirely free open source software.
The Linux community has responded by creating and distributing their own "compatible" codecs. Many of these are built around mplayer, mencoder, and other libavcodec dependent software. Much of the Linux support for these codecs comes from either reverse engineering or "borrowing" the decoders from Windows. This creates legal problems, of course. While I do not know of anyone prosecuting for developing or distributing a reverse engineered codec library, I can see why companies want to avoid the risk. When major Linux distributions or devices makers release commercial products, they have to be very careful that they are following copyright law. If they include reverse engineered, patent-infringing, or copyright-infringing software in their devices, they will face a civil lawsuit.
For now - the remedy for users is in third party unsupported software. This is a remedy and not a solution as it can never duplicate the full out-of-box experience that licensed software can provide.
What happens in the future? Until real, legal, and sweeping codec support and licensing is available for all Linux distributions and devices, the problems will continue. The only real threat to this business model is true cross-platform, on-demand content streaming. YouTube is huge because it works the same on any Flash browser or device. Once global bandwidth catches up too this type of distribution, we can hope to choose any movie, stream, or song from a vast online catalog and enjoy it on any device on any operating system for (we hope) a reasonable monthly subscription.

7 comments:
Hi,
I dont know if you have an N95 or not, but don't you think its weird how they both have similar hardware inside, yet videos shot with the N95 dont play on the N810/N800?
You didn't mention codecs that are free to use. Ogg/Theora/Dirac would be a great solution for a commercial Linux-based device. It can be implemented in free software without legal problems or licenses fees.
(And while on that subject, I cannot believe Nokia didn't implement ogg on the DSP of their internet tablets. Currently, if I want to play oggs, it drains my battery.)
Good in-depth article and something that is on my mind at the moment. Well done Dan.
We need to start producing as much illegal content as we can, in free formats :) Think about it.
NOKIA of all people is opposing the current move to get Ogg/Theora included as the minimum MUST support for video and audio for HTML.
http://www.boingboing.net/2007/12/09/nokia-to-w3c-ogg-is.html
"Nokia has filed a submission with the World Wide Web Consortium (W3C) objecting to the use of Ogg Theora as the baseline video standard for the Web."
Also note the DRM argument is a red herring.
Encryption and DRM can be placed on top of any codec. DVDs are fairly plain MPEG2, but with sections of the data stream scrambled.
If you can hear or see it, it must be decrypted anyway.
Ogg Theora is a horrible and dated video codec. Really. If we're going for an open standard, let's go with x264 or Xvid instead.
As far as the Nokia encoder goes, there isn't a well supported encoder that can do all of what Nokia's specification wants it to do on Windows. While there's mencoder and ffmpeg ports for Windows, support is lacking.
The aforementioned encoders are great in a POSIX compliant environment, though.
The easy solution to this whole issue would be, in the event of being sued for using 'patented' codecs, to charge the plaintiff with extortion. Some juristictions (like Alberta...but there're probably others) allow non-prosecutors to file criminal charges. Better yet, get a GOVERNMENT entity (e.g., the Military, spooks, police) to be your distro user.
When you counter with CRIMINAL charges, civil suits go away REAL fast. (Those men with guns and Bubba in the prison shower will without fail fill the pants of patent trolls.)
Post a Comment