Much of the magic performed by these players comes from their use of video codecs (compression/decompression libraries) found in Windows and the Mac OS. In particular, MPlayer and xine require certain codecs to play files in formats such as Microsoft's ASF/WMV and Apple's QuickTime MOV. These codecs usually are not provided by the source or binary packages for the players themselves, but they are acquired easily. I advise getting whatever collections are currently available. Most of us want the standard packages, but if you're a die-hard video fanatic you might as well download and install them all. The legal status of acquiring and utilizing these codecs is somewhat unclear, but because they are available now I suggest getting them right away. It might prove difficult to do so at a later date.
The notorious DeCSS is a descrambler for DVDs encrypted with the Content Scrambling System (CSS). The original DeCSS software was proprietary and binary-only, but it has been reverse engineered and has spread through the Internet. A great deal of ink and ill-will has been spilled over CSS, and the DVD legal battles are far from over. For more information regarding the issues involved, please read the material at cyber.law.harvard.edu/openlaw/DVD. None of the players discussed here require DeCSS. The open-source libdvdcss is used for runtime CSS decryption and does not require a region-locked DVD player.
MPlayer is undoubtedly the most full-featured player reviewed here. It is considerably more than a DVD player, handling files in far too many video and audio formats to list here. Suffice it to say that if it's video, MPlayer likely can play it.
MPlayer's DVD support meets the standard expectations listed above, and it adds a few features I now can't live without, including its equalizer, a control for audio equalization (EQ) as well as video EQ. Brightness, contrast, hue and saturation can be controlled by the equalizer's sliders. Both audio and video EQ can be controlled in real time with smooth responses. Another nice feature is the ability to set the aspect ratio, that is, how much of your available screen space is occupied by the picture. I don't use this feature so much with DVDs, as most discs are available in wide-screen or standard formats, often on the same disc. Finally, MPlayer provides preset normal, double and full-screen modes for your viewing pleasure.
I really like MPlayer, but I must advise that its build procedure can be somewhat complex. Look over the myriad of configuration options carefully before building the program (see the results from ./configure --help). For instance, the MPlayer GUI is not included by default and must be enabled explicitly. DVD menus are supported with libdvdnav, but the documentation for MPlayer 0.90 indicates that menu support currently is not working. MPlayer's extensive documentation explains every aspect of the program, including compilation details. Look there before you post a complaint to the MPlayer mail list.
One more note concerning MPlayer: its developers are not fond of certain versions of GCC 2.96, nor do they particularly recommend NVIDIA graphics cards. Their stated position is to not answer questions from users with systems owning those components, which is a bit of a problem for me because I have an NVIDIA card and a version of GCC 2.96 on my machine. Nevertheless, I have compiled and used MPlayer under those build conditions and am quite happy with the results. If you have problems when compiling MPlayer with those factors, a Google search should resolve them. In all fairness, I must add that the MPlayer developer and user community is otherwise quite helpful.
Unlike the other players reviewed, Ogle is strictly a DVD player—but what a DVD player it is. Ogle was the first player to support DVD menus, and its other amenities include bookmarks, time skipping, multichannel audio, SPDIF audio output (a digital audio format) and crop and zoom video. The bookmarks function is unique and sweet: I can stop anywhere within a movie, bookmark my position, then return to that position later simply by clicking on the mark. It may not seem like an exciting feature, but it is handy. With the Goggles GUI, Ogle also supports the option to start play upon opening; that is, Ogle automatically starts playing the disc in the drive.
Ogle by itself can be used from the command line. It also can be built with a native GUI, and a number of third-party GUIs are available from the Ogle Web site. Personally, I like having a control panel handy, and I especially like the appearance of the Goggles GUI, but Ogle's keyboard mapping is excellent. Also, the Goggles GUI requires the FOX toolkit, which is not commonly found in mainstream Linux distributions. The Ogle Web site can direct you to the Goggles home, where you can find out how to acquire the FOX toolkit.
I'm also happy that Ogle's documentation directed me to the xvattr utility. The xv driver typically is the default video output driver for Ogle and the other players reviewed here, and its capabilities usually can be modified by preference settings in the players themselves. However, xvattr is a standalone utility that queries your video card for its specific xv-related capabilities and allows direct user control over them from the command line (or the gxvattr GUI). I found it to be quite handy when trying to resolve some frame rate difficulties due to my NVIDIA card's default double buffering (I was able to switch it off using xvattr). I advise using xvattr to learn more about your video card's particular xv-related capabilities.
Similis sum folio de quo ludunt venti.
Free DevOps eBooks, Videos, and more!
Regardless of where you are in your DevOps process, Linux Journal can help!
We offer here the DEFINITIVE DevOps for Dummies, a mobile Application Development Primer, and advice & help from the expert sources like:
- Linux Journal
- New Products
- Users, Permissions and Multitenant Sites
- Flexible Access Control with Squid Proxy
- Security in Three Ds: Detect, Decide and Deny
- High-Availability Storage with HA-LVM
- DevOps: Everything You Need to Know
- Tighten Up SSH
- Non-Linux FOSS: MenuMeters
- Solving ODEs on Linux
- Android Candy: Bluetooth Auto Connect