Linux has no shortage of audio and video players, but if you want to devote your whole system to multimedia use, you need the XBMC (formerly Xbox Media Center). Although initially designed for the Xbox gaming console, XBMC has been ported to other platforms. The alpha version of the Linux port of XBMC that I use is quite usable, especially for video playback, despite the fact that not all XBMC features have yet been ported.
XBMC began life as the Xbox Media Player with its first open source release in 2002 before growing into an all-in-one media center app in 2004. The developers began porting the media center to Linux only last year. Currently precompiled binaries are available for various Ubuntu releases. If you don't use Ubuntu, you can also compile XBMC from source.
Like a typical media center XBMC can display images and play audio and video content from various internal and external sources. XBMC is skinnable, and the default Project Mayhem III theme is very slick. The XBMC interface is divided into five menu items for accessing Programs, Pictures, Videos, Music, and Weather. The Programs entry is for accessing Xbox programs and isn't applicable in the non-Xbox ported environments. The Weather entry points to a customizable weather station. You can program three locations for which XBMC tracks weather conditions and predictions from weather.com. The other menu entries are for accessing the three media types.
At the bottom of the main interface there are buttons that lead you to the XBMC settings page and the built-in file manager. From the settings page you can tweak general XBMC settings like the skin and default colors, as well as settings for picture, video, and audio playback.
One of the most important features in a comprehensive application like XBMC is navigation, and the app scores high in this department. You can control the whole app from the mouse alone, as I did. There's a consistent click behavior -- left-click to enter a menu and right-click to step back -- helpful on-screen controls to navigate media, and an on-screen keyboard when you need one to search for media.
With XBMC you can play media that's on your local disk on a variety of partition types, including such popular ones as NTFS, FAT, and ext3, as well as removable devices like USB disks. You can also play media from over your local network; XBMC can stream files from Windows machines on the intranet via Samba. It also packs a file manager for moving files and folders across partitions and from other machines on the local network to the one running XMBC. XBMC can also display videos in a variety of widescreen and HDTV resolutions if your machine can support these.
The picture viewer support most common image formats, including BMP, JPG/JPEG, GIF, PNG, TIF/TIFF, TGA, and PCX. It can even be used as a comic reader to read comics in CBR/CBZ format. XBMC can also read and display EXIF data from images and use it to auto-rotate images. It has an inbuilt slideshow application that not only display images under a folder but also traverse inside subfolders and display images recursively. Instead of just running through images, during slideshow, XBMC uses pan and zoom effects to move around images, and can do both sequential and random plays through the images.
For playing audio, XBMC relies on its own audio player, called Psycho-acoustic Audio Player. PAPlayer had no trouble playing every audio file I threw at it, including files in WAV, MP3, Ogg, WMA, RealPlayer, AC3, AAC, FLAC, MIDI, and Audio CD formats. The media center also has a built-in music library function that scans your music collection and stores ID3 tag information like artist, album, and genre, which can be used to filter the collection. You can queue music items, add them to your favorites list, or play them randomly with "Party mode." XBMC can play music from the local hard disk as well as from other computers on the intranet via Samba.
One of the most irritating thing about the XBMC Linux port is the lack of music on-screen display (OSD) controls. The only way to stop an audio file or an audio track is to wait till XBMC plays out the playlist. There's also an audio ripper for ripping audio tracks and complete audio CDs, but it rips them into oblivion; I couldn't find the tracks in the specified destination directory or anywhere else on the disk.
Video playback is handled by XBMC's video player, called DVDPlayer. It flawlessly played the Video CD, DVD, MPEG2, MPEG4, WMV, QuickTime, Real, and Flash files that I had on my local disk and from over the network. Like the audio player component, the video player has a video library feature. The video library gathers information about a video from external Web sites like IMDB and TV.com via scrapers. Once it has the information, you can browse your videos by genre, title, year, actors, and directors. The DVDPlayer has a nifty little OSD for navigating the videos as well as enabling and disabling subtitles.
Missing quite a lot
There are a couple of features that are yet to be ported to XBMC on Linux. XBMC supports scripts, and some of the common ones for things like playing music and fetching weather forecasts are already bundled. I tried the browser script that's designed to help one browse pictures, videos, and audio available on any Web site, as well as the ABC TV script, which streams video content from Australia's ABC network, but couldn't get either of them to work. Both scripts crashed XBMC with a "segmentation fault" error.
One of the most popular features of XBMC on other platforms is Internet streaming. XBMC-TV maintains a list of streams that you can download and feed to XBMC. But no matter what stream I tried playing, it buffered for a while but eventually failed to play.
On other hardware XBMC can be controlled from over the network via a built-in Web server, but this feature hasn't yet been ported to the Linux version. Neither has the built-in FTP server that serves as another mechanism for transferring files to the computer running XBMC.
XBMC media center is a capable media center application. Even the feature-incomplete Linux port is better and more comprehensive than a standalone media player, but it could still use some more features. I'd especially like to see OSD controls for the music player as well as the Web interface.
Today, XBMC is still best for people who own an Xbox. If you want a full-featured media center for your Linux desktop, consider an application like LinuxMCE that has TV tuner support and home automation controls.