This is the third in a series of blog posts about Home Theater Computers (aka HTPCs), where several Puget employees get a chance to explain their approach to home theater computing. My approach is distinctly different than the previous entries, which can be found here: Richard's, William's.
The biggest difference in the approach to my HTPC setup as compared to William and Richard's is in the scope of media; my aim is simply to catalogue and play back content stored on my local network. I have two primary reasons not to expand the role of my HTPC. Firstly, I find it largely unnecessary–my PlayStation 3 is a supported device for Netflix streaming and a top-notch Blu-Ray player. The other, potentially more significant reason, is that support for online video services has been historically flaky. For instance, Hulu has been trying to block access from Boxee for nearly two years. Finding out your favorite service suddenly no longer works can be quite frustrating, and is a problem I prefer to avoid entirely.
My demands are simple and few, so I want a media center that excels in those areas without providing a lot of features I don't want to use. The solution I've chosen is a media center application called XBMC. XBMC is an actively maintained open-source media center that began life as a project called Xbox Media Center for (no surprises here) the original Microsoft Xbox. It brought to the console a port of Mplayer, a popular video player for Linux, along with music playback, a media library, network streaming support, and an attractive, easy-to-use interface. XBMC turned an inexpensive video game console into a respectable home theater device. Unfortunately, while it can output high-definition resolutions, the XBox's 700MHz processor simply doesn't have the power to decode HD content.
Fortunately, the XBMC team focused on continuing development for PC platforms, which is how I and most others run it today. Xbox support has been dropped and XBMC is now available for Windows, Linux, OSX, AppleTV, and even as a live version that can run from CD or USB key. MPlayer has been replaced with an internally developed video player that is extremely capable, even on modest hardware. XBMC's video decoding is so good, it's used as the playback core for the Boxee media center project. Practically any common format is supported, including OGM and Matroska containers, MPEG-4 ASP (Divx/Xvid) and AVC (H.264) video, and MP3, AAC, Ogg Vorbis, and AC3 audio.
The network-oriented focus of XBMC makes it extremely easy to maintain a library and stream content over a LAN. My video and music files are all stored on my primary PC and shared out via Windows File Sharing. I simply mount my shares in XBMC and tell it what sort of media they contain. Once it knows where your movies or TV shows live, it runs scrapers to gather relevant information about your video files–movie synopses, release info and posters, TV series overviews, season details, episode descriptions and preview images, and fanmade backgrounds. It then presents your library in your choice of attractive, organized layouts.
Thanks to the modest hardware requirements I was able to put together a near-silent system with no moving parts other than PSU and CPU fans relatively inexpensively. With a dual core Athlon 64 processor, MictoATX motherboard with integrated Radeon graphics and HDMI output, and a small SSD, this nearly inaudible rig is easily able to handle 1080p AVC content. Keeping the costs down entailed reusing a lot of spare parts I had on hand, including an unused copy of Windows Vista. Reducing the noise level meant a lot of time spent tinkering and some compromises made. Running no case fans sacrifices component cooling, and I'm only able to use a solid state drive because my media is stored on a network share. Keeping a local library would necessitate the use of a platter-based hard disk and the associated noise issues that come with it.
While I don't personally use it, XBMC also has support for playback of DVD and Blu-Ray discs. A plugin system is available for greater access to internet services, but if online content is a primary concern the social networking aspect of Boxee might be worth looking into. Neither XBMC nor Boxee currently provide native support for TV tuners, so look elsewhere if that is a deal-breaker. For my purposes, however, XBMC fits the bill perfectly.