DVD Players

We compare features, convenience and performance of the leading DVD-playing software for Linux and cover some important tweaks for smooth playback.

VideoLAN Client

VideoLAN Client (VLC) is one part of a project intended to provide a
cross-platform client/server solution for A/V (audio/video) streaming
over high-bandwidth networks. According to the excellent VideoLAN
documentation, the project includes the VideoLAN Server (VLS), which can stream MPEG-1, MPEG-2 and MPEG-4
files, DVDs, digital satellite channels, digital terrestrial
television channels and live videos on the network in unicast or
multicast. It also includes the
VideoLAN Client (VLC), which can be used as a server to
stream MPEG-1, MPEG-2 and MPEG-4 files and DVDs on the network in
unicast or multicast. It also can be used as a client to receive, decode and
display MPEG streams under multiple operating systems.

Figure 3. VideoLAN Client Controls and Preferences Dialog

As a standalone DVD player, VLC's performance is in line with the rest
of the players reviewed. Its CPU usage was the lowest measured,
making VLC a first-choice solution for networked machines or relatively
low-powered systems. VLC's GUI isn't especially exciting, but it works
smoothly and flawlessly. If you don't need extensive file format support
or if your system fits the target model, then I have no hesitation
recommending VLC.

xine

If MPlayer and xine were horses in a race, they'd be side by
side at the finish line. xine is somewhat easier to build (the xine
developers are not as parochial about your compiler and video card), and it
includes all needed libraries within the source package, as well as
its GUI in the default build. It also supports DVD menus by
default, plays a wide variety of video formats and uses a video EQ
similar to the one found in MPlayer. xine's GUI is a little strange at
first, but it is actually well organized and easily navigated.

Figure 4. xine with default GUI

xine's performance is second to none. I was concerned about the
results of my original test of its CPU usage, but I discovered the
program remembered a “sticky” setting I had made while experimenting
with its video output drivers. I had told xine to try the xshm driver,
not realizing that subsequent sessions would continue to use that
driver. Nothing was wrong with the driver itself, I simply
noticed that xine's CPU usage was much higher than the results for the
other players. Resetting the output driver to xv dramatically lowered
CPU consumption, so I've been a little more careful with any changes I
make to xine's default settings. You also can run the handy xine-check for a résumé of your
system's capabilities analyzed with regard to xine's performance.

The only feature I miss in xine is an interface for random chapter
selection. I can jump to scenes before or after the current location,
but at this time there is no graphic representation of the chapters tree
à la Ogle or MPlayer. However, scene selection from the DVD menu itself
is fully supported, so as long as the disc includes a menu with scene
selection, xine performs random chapter jumps. One other
item of possible complaint is xine's inclusion of its required libraries
within the source tree. Apparently this bothers some people, but I
consider it to be a great convenience. I didn't have to run around the Web to
find what I needed to complete the build; all I needed (except the
Win32 and Apple codecs) was included with the original package.

Incidentally, although xine's default GUI is handsome and perfectly usable,
a variety of alternative user interfaces can be found on the xine home
page. Some nice-looking GUIs are shown, including one that shows
your video output in an ASCII character display.

As with the other players, xine's community maintains a number of highly
active mail lists. If you have questions about xine that are not
answered in its excellent documentation, you certainly can find help
from its community of developers
and users.

Ripping, Burning and Hardware Decoding

Rather than trying to rewrite the excellent and exhaustive advice found at
bunkus.org,
here is some brief advice regarding ripping a
DVD. Get a big hard disk, install either mencode or transcode (and its
dvd::rip GUI) and follow the detailed instructions on the bunkus site.
Ripping a DVD can involve a large number of options, so
plan ahead for best results. The author of the bunkus
site recommends at least 10GB of free space per disc ripped.
Also, even using a fast CPU, the ripping process can consume many
hours.

I don't own a DVD burner, so I can give no useful advice regarding the
process other than mentioning that Jörg Schilling's excellent cdrecord is at the heart of it. However, as with
ripping DVDs, a number of on-line articles are listed in the Resources
section on the Web (/article/7174) that describe the
process in some detail.

While preparing material for this article I asked members of the Linux
Audio Users mail list what DVD software they used. MPlayer and xine were
the clear winners, but one respondent asked whether I intended to cover
hardware DVD decoding boards. Alas, I have no experience with such
hardware and welcome feedback from any readers who have used them.

Comment viewing options

While this was a great article back when it was written, things have changed very much sense then. Installing DVD playback software is now much easier, and with a growing number of Distributions (Ubuntu for example) everything is pre-optimized for video and DVD playback. All the user needs to do is launch into the terminal and type the following (for Ubuntu)

$ sudo su
[password]
$ apt-get install libdvdread4 (this command is not required for 10.04 as 10 comes pre-loaded with libdvdread4. With mine it did anyways, not sure if thats the norm though.)
$ /usr/share/doc/libdvdread4/install-css.sh (Installs libdvdcss2)
$ apt-get install vlc (Because the default video player in Ubuntu is a b**ch to get working with libdvdcss2... says you don't have it when you do).

Howdy...I'm trying to spend more and more time on the Linux "side" of my dual-boot PC but don't have enough mileage yet using the Terminal and the command-line to perform functions such as the ones demanded to get a DVD player up and running (i.e., Xine, Mplayer, etc).

Can anyone point me at a newbie-geared tutorial on how to compile sources? Can it be done from within KDE or must be using comands from the console?

I just can't understand the hardware requirements for DVD playback. What is the claims about >1GHz processor etc?

I had RedHat9 with vanilla 2.4.20-8 kernel, 450MHz Celeron, 320MB of RAM, Matrox Millennium G550 videocard, TerraTec DMX XFire 1024(Only stereo playback), Eizo 17" TFT and Plextor PX-116A DVD-drive.
First I didn't do any "optimization" for DVD playback, just hit xine and movies are running very smoothly at full-screen (1280x1024x32bit). DVD-drive was also working with 16bit I/O and DMA disabled. CPU load is approx. 60%.

Being new to Linux, I have been searching for a printed source of info on many things that have been vexing me. I found a source in your magazine ( the first one I have seen) which is the article on DVD players. I downloaded and compiled XINE, and after many tries I have finally got it to work. Somewhat. I still cannot get it to play many of my DVDs. I either get an error message, it locks up, or crashes. I have found that documentation for XINE, as well as many Linux programs, assumes that the user is a programmer. I would appreciate any help I could get on setting up XINE properly! I must say, I do not plan on ever going back to Windows and the daily, or more often, crashes that I suffered. Thank You for the article.
Michae Driverdaddy-d_rn@comcast.net

Hi Michael: You should write directly to the people at xine and describe your troubles to them. Perhaps you should join the mail-list or search its archive, you might find some users have had the same particular problems. When sending a report be sure to detail whatever error messages or reports occur after xine crashes, the developers will need that info. To make a good report you should indicate the version you have; be aware that xine comes in two pieces, the UI (user interface) and the player engine, so hopefully you can let the developers know what versions of the pieces you have. Btw, I use xine daily, I've had no problems with any discs or files except for some recent WMV files. I'm even able to play DVDs with regional codes from other countries, something our standalone player won't do. I truly hope you're able to get it working better, it's a wonderful program.