Roundup - DVD Players
Tom Wilkinson takes time out from staring at a cinema screen to review six DVD players.
At A Glance
XineMPlayer
Ogle
VLC Media Player
Kplayer
Xmovie
Not so long ago, it was impossible to find a DVD player application, or indeed any kind of easy-to-use media player to rival those found on other operating systems, such as Windows Media Player, or Apple's Quicktime Player. Happily, though, as Linux has become established on the desktop demand for such applications has grown, and today there are a variety of applications, all able to play DVDs straight after installation, with little or no extra configuration needed.
It hasn't always been quite as easy, though - until October of 1999, it was completely impossible to play most DVDs without purchasing a licensed DVD player application. These were of course only available for the proprietary operating systems. This came to an end with the publication of a small library called DeCSS, which enabled the user to bypass the Content Scrambling System (CSS) used to encrypt most commercial DVDs. The development of this software was not, however, without its own risks. Development of software to subvert anti-piracy measures (including CSS) is illegal in the United States, among other countries, and Jon Johanssen, developer of the package, eventually stood trial in his native Norway accused of aiding piracy. He was eventually acquitted, though later others who had helped to distribute the software in the US were served with injunctions demanding the removal of the DVD producers' "trade secrets". Although the debate over what is and isn't a trade secret continues, most DVD playing software has now sidestepped the issue by hosting their web and download sites outside the US.
While even a year ago, it was common for the applications to require a plugin before they would play encrypted DVDs, often downloadable from a site linked to from the players' own pages rather than directly, this has changed. In fact in the majority of cases, the binary packaged versions of the software required some descendant of DeCSS to even install. DeCSS also appears to have the advantage that DVDs from any region can be played without having to resort to altering the drive's firmware, though this could just be a peculiarity of our test equipment.
On test are a variety of players designed to work in various environments - some will even display the DVD rendered into ASCII for those times when you need to watch a film but only have a video card capable of displaying text. Why you'd want to do this is beyond us, but there must be some demand for it.
Gimmicks aside, though, there are a number af features which a DVD player needs before it can be considered useful apart from CSS decryption. These include menu support, which makes it far easier to navigate through a disc to find the relevant feature or extra, and full screen support allowing playback without the distraction of window borders and anything that might pop up.
In addition, it's useful if your player does more than just play back DVD discs - some of the players on test here will play other types of video of assorted types. ranging from plain MPEG encoded video to more proprietary formats such as Windows Media.
Lastly, the performance of the player needs to be considered. While the average desktop PC is more than adequate to play discs nowadays, some players can still show jerky video or muffled sound because they're still optimised for older hardware, and so are down-sampling (effectively throwing away) some of their input.
Xine
Polished player with menu support
Version: 1.0RC2
Web: http://xinehq.de/
Xine is a fully-functional media player that has support for a wide variety of formats out of the box including SVCD, DVD and MPEG. It also has full support for DVD menus through the use of libdvdnav. This was initially developed for use with Ogle, one of the other DVD players on test here, and demonstrates one of the best points about open source software - that multiple projects can share useful code, benefiting them all. This isn't something that could happen with standard proprietary software, where each project carefully guards its code against other competitors.
The program comes in two parts - the core libraries, which provide the video decoding functionality. ON top of that, it's necessary to install a front end. While we tested the package using the standard Xine-ui front end, there are a great many others available including GNOME and KDE applications as well as one for use with Xine in a set-top-box environment such as a digital video recorder. Three skins come with the player by default. The base skin is reminiscent of CyberLink's Windows PowerDVD software, and of the others one is similar to a standalone player's front panel. The third is the clearest - it has large buttons for the common features and it's obvious which buttons do what. This combination of skins caters for user of all abilities, much like the rest of the program. It's as simple or as complicated to use as the user needs it to be, something that's very rare.
Playback of discs is extremely easy - assuming you have libdvdcss installed it's a matter of pressing the button marked "DVD" on the user interface. If it's the first time that you've played the disc, libdvdcss will then start to try to crack the encryption on the disc, though this takes a couple of minutes at most.
It's interesting to note that Xine lets you skip through the copyright notices and lead-ins at the start of the disc before the menus. Again, this feature is missing from commercial software, due to the way that the official DVD decoding algorithms are licensed, and legislation in the EU and US.
Xine's full screen mode superimposes the controls on top of the movie display - but they're easily hidden with a mouse click. One annoyance, though, was that the GNOME toolbars also stayed on screen while the Xine UI was present. This is most likely due to a limitation of X rather than GNOME or Xine, however, so it can't really be taken as a fault of the package.
The options screen is where the program really comes into its own - the first time it is run, you're asked which of four levels of expertise you have so that the relevant options can be displayed. Even the beginners' menus are comprehensive. We had difficulty working out what even half of the options in the more advanced menus were for - the amount of tweaking the package allows is extreme to say the least.
Playback was smooth and the sound quality was crisp, even at high resolutions, including the deinterlacing of the picture, something which can cause problems with some player software. Deinterlacing is necessary because DVDs are intended for view on television - a computer at a much higher resolution and refresh rate won't necessarily display the image properly.
Verdict
Features: 8/10Performance 8/10
Ease of Use: 9/10
Documentation: 8/10
Very nearly the perfect DVD player, Xine is stable, easy to use and well-documented.
Rating: 9/10Kplayer
KDE-Based media player borrowing heavily from MPlayer
Version: 0.3.1
Web: http://kplayer.sf.net/
Unlike most of the other players under test here, KPlayer is still a relatively young project - this is reflected in its low 0.4 version number and as a result, there's still quite a bit of polishing required before it can catch up with some of its more advanced cousins.
In the spirit of open source software everywhere, KPlayer is an application which borrows heavily from the code in MPlayer. This is definitely not a bad thing though - a solid code base for the decoders means that the authors can concentrate on making a solid GUI to go with it. Unfortunately, there's still a long way to go in fulfilling this aim. Until very recent versions, even a preferences screen has been missing from the application.
We had problems installing KPlayer from the supplied binary packages - they'd been built against a specific, bleeding-edge version of the Qt libraries. Compiling the program from source, however, worked well enough and gave a runnable application.
Being based on MPlayer, KPlayer supports just as many formats - a plus point, However it shares MPlayer's limitations, too - for example the lack of DVD menu support. Getting the DVDs to play was also difficult - the documentation suggested that the resource indicator dvd://1 should be entered into a network dialogue box, which didn't seem to exist. While the program will accept the location of the files to be played on the command line, it shouldn't be necessary to invoke an application designed for integration into a graphical desktop aimed at base users in this way. Along with the lack of menu support, this makes it difficult for new users to play discs.
One of KPlayer's biggest problems was that it seemed to crash consistently when right-clicking on the video playback panel. This is quite a major flaw, and one that I'd have expected to be fixed before now, even though the project is still less than a year old. As is always the case, though, this might just be peculiarity of our test machine.
The user interface is also extremely minimal - no playback controls are present in the application. At the very least, a video player needs a stop, play and pause buttons, and preferably a slider to seek to given parts of the video. Those controls which do exist (by way of keyboard shortcuts) don't always seem to work properly - the pause button in particular was problematic, and apparently paused the video while actually continuing to play it in the background (with the sound still coming out of the speakers). The lack of preferences is also a major downfall - in the present version, the only preferences available are those of what key performs what function. As there's little other documentation, this also doubles as basic instructions on how to operate the player. Given the lack of any features whatsoever, this screen is extremely important.
Kplayer is, however, designed to be more user-friendly than its sibling MPlayer, simply by virtue of being designed to fit in with a particular desktop environment. No doubt the problems which plague its early releases will be corrected given time.
An application with potential, Kplayer has a long way to go before it'll be ready to compete with some of the other players on test. It could however be a worthy addition to the KDE desktop once it's more complete.
Verdict
Features: 3/10Performance: 6/10
Ease of Use: 2/10
Documentation: 2/10
A player with a solid code base, but with many major issues to work through before it reaches stability.
Rating: 4/10MPlayer
Capable media player with support for many formats
Version: 1.0-Pre2
Web: http://www.mplayerhq.hu/
Like Xine, MPlayer is one of the older media players available for Linux today, and is now reaching a 1.0 release. However, that's where the similarity ends. By default, MPlayer is a command-line application with no GUI. While a GUI can be added at compile-time, there's little need for it and it comes across as a late addition to the application rather than something integrated. There are, however, a number of different skins available for the GUI if you feel the need to use them.
Unfortunately, MPlayer doesn't support DVD menus, making it slightly harder to play discs than in other applications. The developers suggest in the documentation that if you want it, you should code it in yourself. The actual reasoning is somewhat more complex, and relates to the way the menu code in other applications often has to guess what it should be doing. It does have the advantage, though, that unlike some of the other players on test here, it will play encrypted DVDs out of the box without requiring additional libraries. The developers decided early on to add additional functionality to their CSS implementation such as caching. This means each DVD needs its encryption cracking only once, making startup times for the second and subsequent plays much shorter. Without the menu system, though, this is only of limited use.
There are other advantages to counter these issues, though - MPlayer can be configured to use the binary codecs used by Windows applications to play media, and so can play things like Quicktime movies and Windows Media audio files - something that's only otherwise possible with Codeweavers' Crossover Plugin, or by running the respective players under WINE, which inevitably gives variable results.
In addition, the application supports playback on a number of output devices in addition to the standard X11 output plugins. One of the ones I found most surprising was one that allowed graphical playback on a plain text console if you had an Nvidia graphics card. While our test machine did indeed have such a thing (a GeForce 3), we were unable to get this feature to work. As it's a new addition, it no doubt requires some tweaking.
Playback on screen is smooth, with few jitters, and the sound quality is adequate. One thing that was surprising, however, were the frequent displays of a message stating the test system was too slow to play the video, and suggesting ways of improving the performance of the player. We found it curious that this was still occurring when playing back an uncompressed DV file on a 2.4GHz PC, but as there was no other evidence of any problems, it's something that's perhaps warning of potential issues.
The graphical interface available is disappointing - even when compiled with graphical options, a skin is still required (and downloaded separately). All of the skins I tried felt a little too clunky and unresponsive - in some, for example Neutron, the icons were too small or cryptic to easily work out what each of them meant. There was also no choice as to which video on a DVD disc was to be played. While the first title is usually the feature, this isn't always the case, and it makes playing different episodes of a DVD of a TV show troublesome.
MPlayer is a solid and well-built application with support for a mind-boggling number of video and audio formats. A solid graphical interface and support for DVD menus are all that's letting it down at present.
Verdict
Features: 6/10Performance: 8/10
Ease of use: 5/10
Documentation: 8/10
A solid application providing support for a wide array of video and audio formats, but lacking a solid GUI.
Rating: 8/10VLC Media Player
Cross-platform media player with support for two-way streaming media
Version: 0.6.2
Web:http://www.videolan.org/vlc
Formerly known as VideoLAN Client, VLC has been renamed to better reflect its functions beyond those of playing and rebroadcasting video streamed over a network. VLC sprang from the VideoLAN project, which aims to provide a complete solution for serving MPEG video over a network, on any OS and to any OS. Happily those aims coincide somewhat with those of DVD playback - DVD video follows the MPEG-2 standard, though it's encrypted.
VLC was simple enough to install - the download page for the program also includes links to packages for each of the program's dependencies, which included libdvdcss, meaning that VideoLAN supports encrypted DVDs without any additional requirements. In fact, it was the first player on the market to support this. In addition, VLC uses the code originally written for Ogle for processing DVD menus.
The interface is a clean one with just a few buttons - play, stop, skip forward and skip backward- built using the WxWindows cross platform toolkit on top of GTK. Clicking on the "Open file" or "disc" buttons will allow you to play a disc inserted into the drive without mounting it, or to play any video file. There's also a button for opening a playlist, but the playlist editor is very simple and isn't particularly useful.
While not as comprehensive as Xine's, VLC still offers a wide variety of options to tweak the performance of the player. They're presented in an easy-to navigate tree, allowing the user to find the setting they need easily and quickly. A good number of the tree's branches, though, are completely empty. Whether these are there for completeness, or because a future version might include options there. In the meantime, though, it makes finding the right option more difficult.
Once a disc has been loaded, additional tools appear below the standard controls available to the user. These include a progress slider, allowing skipping to anywhere within the disc, and title and chapter skip buttons, which perform the obvious operations.
Full screen mode is supported, but doesn't include any sort of GUI on screen to aid playback. Instead the old fallback of hot keys is used - space to pause, F to switch between full screen and windowed mode, and so on.
One thing that was noticeable with the VLC playback was that the sound seemed to be less clear than that given in the output of the other players on test. It's unclear whether this is due to limitations in the player - it might be down sampling the sound input it's getting before outputting it for some reason, or using a different decoding method that's faster but sacrifices quality. Given the program's performance playing discs on slower machines, I'd guess at the latter. Unfortunately, we were unable to find a suitable option in the preferences screen that allowed the audio quality to be increased.
Video playback. however, was clear and smooth even at high resolution. A variety of different options for deinterlacing the picture are included. While some do make the picture seem a little more blurry, this is preferable to the type of picture that's generated with no compensation for interlacing which can be quite distracting at times, especially when the frames are severely displaced.
VLC does, however, provide a solid application for playing DVDs, and is perhaps more suitable than other applications for running on lower-end hardware. In addition, it is perhaps more portable than other alternatives, offering a graphical interface on both commercial OSes such as Mos OS X and windows as well as most UNIX-like systems.
Verdict
Features: 7/10Performance: 7/10
Ease of use: 7/10
Documentation: 6/10
A solid player that offers a good deal, especially on lower-end hardware.
Rating: 7/10Ogle
A dedicated DVD player application using GTK
Version: 0.9.1
Web: http://www.dtek.chalmers.se/groups/dvd/
Ogle was the first DVD player application for Linux to support DVD menus, through the development of the libdvdnav library. As a result its menu navigation and chapter selection code are slightly more well integrated into the main core than with the other players. This isn't really noticeable to the end user though - all the applications supporting menus present much the same interface in that case, mostly because they all use the same code.
Like VLC, ogle has a simple GTK-based interface showing basic functions in its small control window. As it is a dedicated DVD playing application, though, it includes a few more functions including some for navigating through menus, as well as buttons for chapter skip and selection of subtitles and which audio stream should be used. Opening a DVD is easy enough, and the "Open Disc" menu option can be used, or just the "Play" button on the interface.
Like other applications on test, Ogle is somewhat less than polished in places. The menu option for the program's preferences didn't appear to do anything, which begs the question as to why it was included. There's also no graphical interface for use while the application's playing back in full screen mode, which makes it more difficult to control in that mode. Having to switch between full screen and windowed mode can be quite an inconvenience.
As an application devoted to DVD playing, ogle has a number of drawbacks compared to players such as MPlayer and Xine - it supports only one media type. This approach does have some advantages, though. It means that the authors can aim to write the best DVD player, ignoring other formats. Unfortunately the relatively slow update cycle of Ogle compared to that of bigger projects means that it's not necessarily the case that it can keep up with the development pace of its rivals - looking at the program's web page implies that updates happen around once every three months or sometimes even less.
Performance, however, is good on low end hardware, giving a jitter-free picture and crisper sound than VLC. There's no support for deinterlacing, though, which results in some problems at high resolutions, with video appearing jerky. This can be fixed to some extent by reducing the resolution that X is running, but it's still a minor annoyance.
Ogle also comes with a command-line interface, which optionally supports text-based rendering using aalib. gimmicks are nice, but it would be more beneficial to the project to work on more useful features, such as deinterlacing the output picture, or a full screen mode graphical interface.
There are few options which can be passed to the ogle binary - just whether to start in text or graphical mode and which file or disc to open. The manual pages do include large amounts of documentation on how to configure the player using its XML-based configuration file. It's still not nearly as easy to configure as it should be, though.
While Ogle has all these drawbacks, it's still good at what it purports to do - play DVDs. It could be argued that the lack of options and format supports makes it very easy to perform the limited functions that it does support, so makes sense for new users. For the rest of us, though, it would probably better to use MPlayer or VLC.
Verdict
Features: 6/10Performance: 7/10
Ease of Use: 8/10
Documentation: 7/10
A highly limited player, but one that's good at what it does
Rating: 7/10Xmovie
A lightweight player intended for playing uncompressed video
Version: 1.9.10
Web: http://heroinewarrior.com/xmovie.php3
The final player in our tests, Xmovie, has been around a while longer than the others, and was originally written as a replacement for Xanim, the first media player for Linux. As such it's best at playing uncompressed video and video without much compression, such as DVDs. The authors admit on their web page that it will perform badly with things like streamed video which have a low bit rate and are highly compressed.
The player very much shows its age, unfortunately - it's built with the Motif toolkit, which was common before GTK and Qt, used to build GNOME and KDE respectively. This means that it doesn't fit in to any modern desktop particularly well, with a dark green menu bar and light green video seeking slider.
The player is, however, well designed. The controls at the bottom of the screen give what is required - play, skip forwards and backwards buttons, and a slider to allow the user to seek to any part of the video quickly and easily. At least that is the theory. In practice, selecting any of the controls during playback appeared to cause the entire application to freeze, requiring it to be killed from the command line. Switching between full screen and windowed mode worked well, though, and didn't cause problems like the majority of the players other functions.A few options are available, including the option whether or not to play back every frame - useful on slower systems, though with uncompressed video this shouldn't make very much difference- of more importance is the rate at which data can be pulled from the disc. There are also options for sound mixing - the player can down mix Dolby Surround into stereo, or even up mix Stereo into Dolby, though it's hard to say what use that would be. Prescaling and cropping of the image was also supported. What was surprising was that any number of options could be changed while the video was playing, without any problems at all, surprising given the problems with the basic playback functions. Options appear to be forgotten between playbacks, though, which is irritating.
The DVD playback aspect of the program is unfortunately lacking, too - only unencrypted DVD playback is supported, and there's no support for either menus or chapter selection. To play a given DVD title, it needs to be mounted and the individual media files need to be opened in the player. This makes it even more difficult to work out which file is the one required than it is when using MPlayer and KPlayer, which rely on the user entering the correct track number in order to play the video.
The documentation is also quite lacking, comprising only of a list of formats supported by the program and a short description of each of the menu items, most of which are self-explanatory. A little more information, such as how to open a DVD movie (as it's far from obvious) would have gone a long way.
As a basic media player, the design of Xmovie has nothing fundamentally wrong with it. Unfortunately the dated interface, its bugginess and the issues using encoded DVDs (just about all of them on the market) mean that it's really not suitable for use in a DVD player. The project web page gives the impression that it's going down the route of becoming a software HDTV decoder. This is likely to be about the most useful direction that it can take at present - as it is, it's too far behind other players to be able to usefully catch up as a DVD player application.
Verdict
Features: 4/10Performance: 6/10
Ease of use: 5/10
Documentation: 3/10
A simple-to-use media player but not one to consider when playing DVDs
Rating: 3/10DVD Players - The Verdict
As time progresses, the selection of DVD players for Linux expands and emerges as increasingly ready to topple the commercial players available for other OSes. Long gone are the days when a reboot into Windows was required to watch a disc on your PC. Also, happily, long gone are the days when it was difficult to play region-coded discs, many of the players officially supporting playback of such things despite the legal ambiguities. This would have been unthinkable even two years ago.
Almost all the players on test performed admirably. Of the two low points, Kplayer did well enough but is still early in its development cycle - no doubt it will improve in leaps and bounds over the next few months. Unfortunately, the same can't really be said of Xmovie, which at present doesn't seem sure what it wants to be - it's not really suitable for the playback of DVDs, and seems better geared toward broadcast media, something which VLC is designed to cope with from the ground up.
A good deal of code sharing has gone on between the applications as well - libdvdcss was initially developed for use with MPlayer, but is now used by almost all the players in one form or another. The menu navigation code originated with Ogle but has since been integrated into VLC and Xine as well, as have the chapter location codes. This spirit of co-operation has no doubt improved the quality of everyone's applications and improves the choice available to the end user.
Performance-wise, there's not a lot to choose between the differing players - VLC had slightly worse sound quality, but not so much as to affect enjoyment of the disc being played back. Ogle showed slightly worse picture quality, but this was probably more to do with the way in which it handles interlaced pictures than anything else.
Both Xine and MPlayer come with interfaces suitable for use in a set-top box environment, and either would be a worthy addition to the distributions that are aimed at that very market. In this corner, though, Xine has to come out on top due to its support for menus, making finding the video clip you wanted to play back very easy indeed.
Mplayer does have the edge in other arenas, though - it has more output options than any of the other players put together, and thanks to the way it can handle Windows' plugin and playback libraries, plays back far more types of video, including those which are exclusively licensed to certain applications, such as Apple's Sorenson Quicktime codec, and Windows Media. The main point against MPlayer, and the reason it hasn't scored higher, are the lack of menu support, even two years after other players have had it, and the lack of a default graphical interface. If these two points are ever fully addressed, MPlayer will no doubt overtake the other players quite significantly - it's already overtaken the Linux kernel as the most popular project available from the open source software repository Freshmeat (Xine comes 5th in the same chart).
VLC and Ogle are both fine players too - this is far from having been a two-horse race, though each of them is lacking some of the features present in the other players, and you could do worse than use either. In the end, though, only one player could cope with everything that we'd want from a DVD player, and that was Xine. Having borrowed the best features from each of the other projects, allows it to combine them all in a package that gives easy access to almost everything required from a media player. Those gaps are filled admirably by MPlayer, so we'd recommend having both installed on your PC, neatly covering all the potential bases.
Table of Features
Name | Full Screen | CSS Support | Menu Support | GUI Type | Skinnable | Command Line Support |
---|---|---|---|---|---|---|
Xine | Yes | Yes | Yes | Standalone | Yes | Yes |
Kplayer | Yes | Yes | No | Qt | No | No |
MPlayer | Yes | Yes | No | Standalone | Yes | Yes |
VLC Media Player | Yes | Yes | Yes | GTK | No | No |
Ogle | Yes | Yes | Yes | GTK | No | Yes |
Xmovie | Yes | No | No | Motif | No | No |