Linux supports several different multimedia applications that can play DVDs. (In "That Command Doesn't Write to My DVD" in Chapter 2, I showed you how you can copy DVDs that you've created.) However, if you try to play a DVD movie that you've rented from the video store, the DVD players probably won't work. The difference is that commercial DVDs, such as those with commercial movies, are encrypted. DVDs aren't supposed to be playable in computers, at least without copy protection. They are protected using a 40-bit-encryption-stream cipher algorithm, the Content Scrambling System (CSS).
I'll show you what you need to install to bypass this encryption—specifically the decryption package that uses a brute-force decryption routine to read commercial DVDs encrypted via CSS. Then I'll show you how you can install and run several different movie viewers.
Several major entertainment companies discourage the use of decryption on Linux, as it facilitates free (and illegal) copying of commercial DVDs. As Linux companies exercise an abundance of caution to minimize the risk of lawsuits, most Linux distributions do not include DVD decryption packages with their packages. However, they can be easily downloaded from third-party sources, and they integrate seamlessly with the major Linux movie viewers. To address some of the fears that may be associated with software for commercial DVDs on Linux, I address the decryption issues in the next section.
As there are no movie-player packages included with Red Hat Enterprise Linux, I do not cover the installation procedure on that distribution. If you require a movie player on Red Hat Enterprise Linux, the procedure is similar to that for Fedora.
SUSE is perhaps more cautious about its users playing encrypted DVD movies. The movie players included with the SUSE distributions do not support reading commercial DVDs, even with appropriate DVD decryption software. If you want to play a DVD movie on SUSE Linux, you'll have to download the players from a third party, such as http://packman.links2linux.org.
Movie players and automatic mounters don't play very well. If you want to configure a movie player on your system, I recommended that you disable any Autostart or other defaults that may automatically mount an installed DVD, as described in Chapter 7.
The Motion Picture Association of America (MPAA) and the Recording Industry Association of America (RIAA) have worked to discourage decryption of commercial DVDs. After the decryption program DeCSS was developed in 1999, the MPAA filed an international complaint, which prompted the Norwegian authorities to place one of the reported developers, Jon Johansen, on trial. Johansen was eventually acquitted of all charges.
As CSS provides only 40-bit encryption, the decryption of CSS-encoded DVDs is not rocket science. However, one legal issue regarding DeCSS is how it was reportedly developed with a reverse-engineered encryption key from a DVD player. The MPAA and RIAA have resorted to various lawsuits to prevent distribution of DeCSS, citing this reverse engineering. In 2004, a related lawsuit against the distribution of DeCSS was dropped, and a previous ban was overturned as a violation of free speech.
In other words, it's probably legal to distribute DeCSS; however, reverse-engineering a proprietary decryption key is another question.
Alternatively, current Linux media players can use the libdvdcss package to decrypt CSS-encoded DVDs. As this package does not use a reverse-engineered key from a DVD player, it might not be subject to the same legal risks associated with DeCSS. However, with the history of legal action on the subject, it's understandable that Linux companies would hesitate to include DVD decryption packages with their distributions.
To decrypt commercial DVDs, you'll need the libdvdcss package. You can download the latest version from the VideoLan developers at http://download.videolan.org/pub/libdvdcss/. As of this writing, the VideoLan developers also provide packages in RPM and DEB format.
The developers behind libdvdcss, at least those listed on the VideoLan web site, are all located in Europe, which makes legal action from the MPAA and RIAA more difficult.
The libdvdcss packages are also available from third-party repositories, including:
The ftp.nerim.net/debian-marillat repositories for Debian distributions.
Repositories maintained by individual SUSE developers; for my SUSE 9.3 computer, I downloaded the libdvdutil package from ftp://ftp.gwdg.de/pub/linux/misc/suser-sbarnin/suse92/i586/RPMS/. When I upgraded to SUSE 10.0, I used the libdvdutil package from almost the same URL, except I substituted suse93 for suse92 (yes, the updates are one revision behind). When you install libdvdutil from this repository, you're actually installing libdvdcss.
Once libdvdcss is installed, run the DVD player of your choice. When you start the DVD player, you may have to wait a few extra seconds while the decryption algorithm breaks the 40-bit CSS key.
The Totem Movie Player is a standard application for playing DVDs on Linux systems (along with audio formats and streaming media) and is designed for the GNOME desktop environment. Installation is a straightforward process; all it requires is the package of the same name.
Once Totem is properly installed, it's easy to open and run. On Fedora or Debian Linux, select Applications → Multimedia → Totem Movie Player. In SUSE Linux, select Applications → Multimedia → Video Player → Totem Movie Player. Generally, all you need to do is insert the DVD into the drive, select Movie → Play Disc, and you're good to go! The volume and play controls are intuitive; if you want to view your movie in full-screen mode, choose View → Fullscreen; you can use your mouse to control the standard DVD movie menus.
If you see an "Are you trying to play an encrypted DVD without libdvdcss?" message, you may have forgotten to install the decryption package described earlier, or the package may not be appropriate for your system. On rare occasions, it may be due to a DVD that is somewhat worn or warped, which makes the movie more difficult for libdvdcss to handle.
If you see a "Please check that a disc is present in the drive" message, Totem is having trouble mounting the DVD. Try mounting the DVD with a command such as mount /media/cdrecorder, and then try again.
If you want to run encrypted DVD movies on SUSE Linux, you'll need to download and install the Totem Movie Player from a third party. As recommended earlier, I downloaded and installed the Totem Movie Player from http://packman.links2linux.org/. One advantage of that site is that it also includes the packages that are required as dependencies.
For details on how the Totem Movie Player works, refer to its home page at http://www.gnome.org/projects/totem/.
Developed in Hungary, MPlayer has recently won the TUX Magazine Readers' Choice award for Favorite Media Player. However, if you're using MPlayer to run commercial DVD movies, you won't be able to get to the standard movie menus associated with subtitles, episodes, special features, and so on.
Once MPlayer is properly installed, it's easy to open and run. On Fedora or Debian Linux, select Applications → Multimedia → MPlayer. In SUSE Linux, select Applications → Multimedia → Video Player → MPlayer.
One small annoyance when you start MPlayer for the first time on Debian is an error message relating to "New_Face." and subfont.ttf in the ~/.mplayer subdirectory. If this occurs,, find the .ttf font file of your choice and copy it to that location.
To start a DVD movie in MPlayer, right-click on the screen for a pop-up menu, and then click DVD → Open Disc. Once MPlayer has connected to the DVD, you can select titles, chapters, audio languages, and subtitle languages from the pop-up menu's DVD submenu. In many cases, titles correspond loosely to episodes, and chapters to scenes.
You can also adjust the size of the video on the screen with the pop-up menu to "normal size," "double size," and "full screen." Once in full-screen mode, you can access controls by moving your mouse pointer toward the bottom of the screen.
If you want to run encrypted DVD movies on SUSE Linux, you'll need to download and install the MPlayer from a third party. As recommended earlier, I downloaded and installed the MPlayer from http://packman.links2linux.org/. One advantage of that site is that it also includes the packages that are required as dependencies.
For details on how MPlayer works, refer to its home page at http://www.mplayerhq.hu/.
The first time you start the KDE Media Player, also known as Kaffeine, it starts the associated Installation Wizard. You can do so from the K Desktop Environment by clicking the K menu → Multimedia → Kaffeine (in SUSE, Kaffeine is in the Multimedia → Video Player submenu). The wizard does not prompt for any input; it tells you what it found in a screen similar to Figure 4-7.
It checks for:
Proper installation of the Kaffeine package.
An appropriate version of the K Desktop Environment.
A current version of the xine-lib package (which is the libxine1 package on SUSE and Debian).
Win32 codecs, which can allow you to play .wma files associated with Windows Media Player. If you want to download these files, see the sidebar "Other Codecs."
Proper installation of libdvdcss for decryption.
An available DVB device, associated with Digital Video Broadcasting (http://www.dvb.org).
An appropriate distribution; as you can see from Figure 4-7, the Kaffeine viewer installed with SUSE does not support movies.
In the following step, you're prompted whether you'd like to configure Kaffeine to work with Microsoft or Real Media streams. If you want to do so, you'll also need the codecs described in the "Other Codecs" sidebar.
Like Totem, Kaffeine supports mouse access to standard DVD movie menus associated with episodes, subtitles, special features, and so on.
To start a DVD movie in Kaffeine, double-click on the Open DVD icon under the Go tab. Once Kaffeine has connected to the DVD, you can use your mouse to select titles, chapters, audio languages, and subtitle languages. You can also move to full-screen mode with the Ctrl-Shift-F command.
If you want to run encrypted DVD movies on SUSE Linux, you'll need to download and install Kaffeine from a third party. As recommended earlier, I downloaded and installed Kaffeine from http://packman.links2linux.org/. One advantage of that site is that it also includes the packages that are required as dependencies.
For details on how Kaffeine works, refer to its home page at http://kaffeine.sf.net/.