GNU/Linux DVD Player Review
Playing DVDs under GNU/Linux has not had the happiest of histories, what with the DeCSS debacle and subsequent legal battle. So you'd be forgiven for thinking that you will never be able to play your DVDs on your GNU/Linux system. Luckily, this is not the case, and there are several applications available for you to download and use. The issue with DeCSS is still with us but is slowly getting clearer. However, this has left some of the DVD players officially not supporting encrypted DVDs, although unofficially, playback is possible via third-party additions.
This introduction to DVD playback applications for GNU/Linux looks at Xine, VideoLAN Client, MPlayer and Ogle. In addition to playing encrypted DVDs, unofficially in some cases, several of these players also will play back other file formats.
Xine has quite a large following, and for good reason, as it is a very capable DVD player. In addition, like most of the players reviewed here, Xine is capable of playing a large range of file types in addition to unencrypted-DVD playback. Xine easily can be extended with additional functionality as it supports plugins that enable you to incorporate new codecs (open- or closed-source) or any additional function easily. There are many plugins available for Xine on the Net ready to be downloaded.
Xine only supports the playback of unencrypted DVD directly, but support for encrypted DVDs is provided by a third-party plugin (xine_d4d_plugin). It is unlikely that Xine will support encrypted DVDs directly. The legal status of this plugin is, as always, debatable, but it is easy enough to find and install. There are some useful links on the Xine web site, and a search at Google should find the required links for this plugin. It is stated on the Xine web site that encrypted DVD playback is not going to be supported directly because of the legal issues that surround this area. However, once you have installed the plugin, Xine's playback of encrypted DVDs is smooth with no noticeable problems with audio synchronization or any video glitches.
Xine's interface is tidy and provides most of the function you might require. Depending upon your preferences, you may find that it takes up too much space on your desktop. As Xine is currently not skinnable, there is no way to change the size or layout of the GUI. If you are running XFree86 4.x, with a supported video card, you can switch Xine from windowed to full-screen mode and back again smoothly. If this is not supported by your video card or version of X, Xine still can be viewed in a window, which is the default startup mode.
Unfortunately, Xine does not support DVD menus directly; however, there is a plugin called dvdnav (available from prdownloads.sourceforge.net/dvd) that adds this functionality to Xine. This plugin is a must-have if you intend to use Xine for DVD playback. The plugin works very well, even with the complex animated menus that some DVDs have, and although this is not required for DVD playback, it obviously gives you complete access to all the features available. The code for the DVD navigation was written referencing the original Ogle DVD menu code base.
Xine is a good DVD player, and with the use of plugins it can be extended in many ways. It appears to have a solid following, which should ensure its survival. The interface, however, may not be to everyone's taste.
The VideoLAN Client is part of the VideoLAN Project, a full MPEG-2 client/server solution. However, the VideoLAN Client also can be used as a standalone program to play MPEG-2 streams from a hard disk or DVD. It currently has GTK+, GNOME, KDE and Qt front ends and can use either X11, XVideo, SDL or DirectX for video output. For audio, VideoLAN Client supports OSS, ALSA and ESD. To access encrypted DVDs, VideoLAN Client uses the library libdvdcss, which is a simple library designed for accessing DVDs like a block device without having to bother with the decryption. VideoLAN Client does not use DeCSS but a different implementation that does not use the cracked Xing decoder key. The libdvdcss was written by the VideoLAN Client development team, using the original DeCSS code as a reference base.
DVD playback with VideoLAN Client is very smooth with no noticeable problems with audio synchronization. When you start viewing a DVD, it defaults to opening up a window to display the movie, but you switch to full-screen mode quickly and easily by pressing the F key, as with the other players reviewed here. The switch from windowed view to full-screen view, and back again, is very quick and smooth with no slowing of playback.
VideoLAN Client GUI is a rather large window by default, the largest of the group. This seems unnecessary, and although you can shrink it down, it does not scale very well—a minor point, but it does seem overly big for what is a simple interface. That said, the GUI itself is fairly easy to navigate, with buttons to Stop, Pause, Forward and so on. Preferences also can be modified for items such as the path to the DVD/VCD device, audio device and output to use, the default interface and so on. It is the only player reviewed here that allows you to modify the preferences from the GUI.
The only drawback to VideoLAN Client is that there is currently no support for DVD menus, so you only can see the movie and you cannot access any additional items. This is not a major drawback and should not be held against VideoLAN Client as its DVD playback is as good as Xine and MPlayer. If you are not too worried about having DVD menu support and can live with the largest GUI of the players reviewed here, VideoLAN Client is a good choice.
Webinar: 8 Signs You’re Beyond Cron
11am CDT, April 29th
Join Linux Journal and Pat Cameron, Director of Automation Technology at HelpSystems, as they discuss the eight primary advantages of moving beyond cron job scheduling. In this webinar, you’ll learn about integrating cron with an enterprise scheduler.Join us!
- New Products
- Users, Permissions and Multitenant Sites
- Not So Dynamic Updates
- Flexible Access Control with Squid Proxy
- Security in Three Ds: Detect, Decide and Deny
- DevOps: Everything You Need to Know
- Tighten Up SSH
- Solving ODEs on Linux
- Non-Linux FOSS: MenuMeters
- diff -u: What's New in Kernel Development