Watching movies is a favorite leisure activity for many people. Today, you can watch movies on your laptop computer as well as your TV screen. But can you do it with Linux?
by Craig Knudsen
Under most circumstances, when someone refers to a DVD (digital versatile disc), they're talking about a movie. After all, DVD originally stood for Digital Video Disc. However, there's much more to the DVD standard than just the DVD-Video format.
Many new computers come equipped with DVD-ROM drives and a Windows-based application for playing DVD-Video. The difference between DVD-ROM and DVD-Video is comparable to the difference between CD-ROMs and audio CDs. The DVD standard also includes DVD-Audio (the likely successor to the audio CD), and the DVD-RAM and DVD-R writable formats.
What's so great about these DVD formats? They store huge amounts of data compared to a CD. The typical DVD can hold 4.7GB of data, compared to the 650MB capacity of a CD.
Should your next computer have a DVD-ROM? It's clear that DVD-ROMs are well on their way to replacing CD-ROMs. The additional cost of a DVD-ROM over a CD-ROM is less than $100 and will continue to drop.
DVD-ROM players can also read audio CDs and data CDs, so there's no need to have both a CD-ROM and a DVD-ROM drive. However, some older DVD-Video players are unable to read CD-R discs. I was disappointed to find out that an audio CD-R I created worked fine in a cheap portable CD player, but not in my (much more expensive) DVD player. Strangely, the CD-RW media usually work fine. There's a good technical explanation of this problem in the DVD FAQ. Newer DVD-ROMs shouldn't suffer from this limitation.
What you're probably wondering is whether or not you can use a DVD-ROM under Linux. The good news is you can, and it's simple to do.
Most DVDs use a bridged file system so they can be mounted using either the ISO 9660 file system (used by CD-ROMs) or the newer UDF file system. Most likely, your Linux kernel already has support for ISO 9660 built in, so you should be able to mount a DVD in your DVD-ROM drive.
If you want to try out the UDF file system, you will need to either patch your 2.2 kernel or upgrade to the 2.3 kernel (or 2.4, if it's out). The UDF file system offers some additional features over ISO 9660, but none are necessary to read a DVD-ROM, unless it is a UDF-only DVD.
Being able to read a DVD and play a DVD movie are two different issues. You won't be able to pop your copy of The Matrix in and watch it right away.
It is possible to play DVD videos under Linux; however, at this point, it's a challenge to do so. (See section on Breaking DVD's Security.)
Two primary projects are underway to bring DVD Video playback to Linux: LiViD (Linux Video and DVD Project) and LSDVD. The focus of LSDVD is on a commercial, closed-source solution, while LiViD aims to develop an open-source DVD player. Both projects are early in the development process.
Movies can be decoded using either hardware or software. Hardware decoding takes place in a dedicated card, such as Creative's Dxr2 DVD Decoder. You can obtain a Linux driver for Dxr2 at Creative's open-source page. Software decoding requires a tool to decrypt the Content Scrambling System (CSS) copy protection.
If you don't have a Dxr2 card, you'll need a 500MHz Pentium III or better to handle software decoding. The LiViD Linux DVD HOW-TO provides instructions on setting up software decoding.
You'll need to download some extra software, including a kernel patch and the CSS decryption tool. However, due to legal pressures, the needed CSS utility disappears from web pages soon after it appears. If you're a skilled surfer, you should be able to find a copy of the tool somewhere.
Convergence Integrated Media is working on a PCI DVD Decoder card that will take care of CSS decrypting as well as video and audio decoding. The card and Linux drivers should be available soon.
If you're the adventurous type, try that DVD movie under Linux. However, most users will want to wait until a more user-friendly package for DVD-Video playback is available.
DVD-Video uses a copyright protection scheme called the Content Scrambling System (CSS) which is designed to prevent people from duplicating the digital content of DVDs. Several groups of Linux developers are working on creating a Linux DVD player. LSDVD aims at creating a commercial player for Linux that will not be open source, due to licensing restrictions and costs. (See their home page for a good explanation of these costs.)
LiViD wants to create an open-source player. There are open-source decoders for both the AC-3 audio and MPEG-2 video formats found on DVDs. The CSS encryption was the last obstacle to playing DVD movies on Linux.
A Norwegian group called MoRE reverse-engineered the Windows-based software DVD player from Xing Technologies, a subsidiary of Real Networks. They discovered a mistakenly unencrypted key that could be used to unlock DVD movies.
It's interesting to note that U.S. export restrictions on encryption played a part in this. The CSS scheme uses 40-bit encryption, the U.S. export key-length limit, allowing the MoRE team to crack the rest of the unencrypted keys. Thus, the export restriction made MoRE's job easier.
MoRE made their work available to others by posting their DeCSS decryption program, the CSS algorithm and the encryption keys to the world.
The breaking of CSS caused wide speculation on the future of DVD. Some suggested that certain movies wouldn't be released on DVD. Others speculated that DVD-Audio players would be held up. Most seem to agree that none of it would have happened if someone had made a Linux DVD movie player available.
Craig Knudsen (cknudsen@radix.net) lives in Fairfax, VA and telecommutes full-time as a web engineer for ePresence, Inc. of Red Bank, NJ. When he's not working, he and his wife Kim relax with their two Yorkies, Buster and Baloo.