Digital Home Theater

I’ve been asked several times about how I’ve set up my home theater at the house.  It’s a pretty neat setup, I think, but I know I’m not the first.  Here’s a detailed breakdown of how I accomplished it.

Server

The “heart” of the system really comes down to the server.  That’s where all of my media is stored.  It’s built on Linux (Ubuntu), and started life primarily as a compilation of “recycled” parts.

There are four hard drives to this system.  The first, and smallest, is a 320gb drive that contains the operating system and my regular network backup.  It functions as the test server for any HTML work that I do.  The remaining three drives (2x 2TB and 1x 1TB) were LVM’ed (or software RAID, if you prefer) to create one massive drive.  You can do this during the OS installation.  This drive is mounted under /data and shared through Samba across my network.  I use password-protected sharing on this strictly because someone *could* break into my wifi.  I’m nothing if not security-conscious.  Not to mention that it could be loosely construed as file sharing if that happened.

The /data drive is further separated into /blu-ray and /dvd folders (so I can keep my content separate).  Each folder underneath has the movie name and year, such as “Star Wars (1977)”.  Inside each folder is the digital movie file and smaller supporting files (movie information, cover art, etc.).  This makes it easier that I don’t have to re-scrape my database whenever I reformat my HTPC.

The movies themselves are ones that I’ve purchased or converted over the years.  (Conversion is a whole other beast entirely – suffice it to say, I will speak highly of MakeMKV and RipBot264.)  I use a program on one of my regular computers called Media Companion to handle the tasks of populating all the other data on my server.  It lets me select cover and fanart as well as gathers the relevant movie information.

HTPC/Theater

The HTPC and theater itself is where the magic happens.  My TV – a 42″ Panasonic 1080p Viera plasma TV.  It has a sharp picture, and when I bought it, plasma was still the leader in picture quality.  All the signals are routed through an Onkyo 5.1 “theater in a box” system.  It had plenty of inputs and power to meet my needs.  I run my digital cable box and HTPC through the receiver, where the signal then gets put to the TV.  I use a Logitech Harmony remote to control it all without needing 50 remotes to change a channel or the volume.

The HTPC itself is an Acer Aspire Revo R3610 (the current model is the R3700, I think).  I made some modifications to it – increasing the memory to 4gb and swapping the stock 5400rpm drive for a 7200rpm drive.  The reason for this is simple – Windows7 runs better.  If I had the money or the cost was more in-line, I would gladly drop an SSD in.  The processor on these units isn’t much to write home about – but it is powerful enough to run HD content.  The ship with an HDMI-out, so that covers the video aspects of it.  (As a side note, I’ve put 3 in conference rooms and they run just fine for basic usage.)  They ship with a basic wireless keyboard and mouse, so that’s covered as well.

The Acer is set up for “dual boot” between XBMC-Live and Windows7.  I need to keep Windows7 for things like Amazon streaming, Netflix (if I had it), Hulu, and ESPN3.  XBMC developers have made great strides in trying to get these things working, but they’re still a work in progress, and prone to being inaccessible at the wrong times or made unusable by format changes with the service.

XBMC does one thing and does it well – it’s a media center.  You set it up to find your media (movies, music, etc) and then it presents them in a clean way to view the list, and then plays them.  Of course there are the add-ons to make it a game center or other fun things, but it’s media only.  While XBMC has a version designed to run with desktop OS’es (Mac, Windows, Linux), they have major issues getting the remote to play nice between XBMC and the OS.  XBMC-Live removes the middleman, as it was.  That’s why you have to dual boot.

I tried Boxee and some other “Media OS” – neither seemed to work very well for me.  I have played with OpenElec, which aims to strip much of the underlying software out of XBMC, but the setup still needs work.  At this point in time, you can only install it with a complete reformat – not cool if you need the dual boot.  It’s light and seems faster than the full XBMC-Live, but not worth the hassle to reverse engineer the dual boot aspects.

Thoughts

Buying one of these net-tops like the Revo isn’t your only option.  You can custom build a system.  They have cases that look like stereo components – but you have to tread carefully with these.  You can certainly build a more powerful system, though to be honest, if you have a good enough graphics card (that supports HDMI out), you don’t need a top of the line processor.  I think at the present time XBMC is limited with blu-ray playback from disk if you build one in – so Windows7 and the software is a must.  You also have to buy one of the media center IR remotes ($20 or so from Amazon or NewEgg).

Converting your physical library to a digital one is a giant undertaking.  To convert my SD (traditional DVD) takes about 30 minutes per disk (and I’m a perfectionist, so it takes me another 10 to strip out the data for the DVD Chapters and mix those back in with correct titles).  As you can imagine, a DVD is about 6gb for a movie (average).  A blu-ray is 30-40gb.  You need a lot of storage unless you encode it using RipBot to shrink it by at least 60%.  That process takes forever – at least 5-6 hours with a good quad-core processor.  But, it’s worth it, as you never have to leave the couch to dial up the next movie.

I don’t condone using torrent sites or pirating movies – if that’s how you choose to get your media, so be it.  This setup works for fine for organizing and playing those files as well.  Just remember the laws governing you.

While net-tops usually have Wifi built in, streaming wirelessly, especially through XBMC-Live is not advisable for HD content.  You’ll need to run an Ethernet cable or use the wall plug converters.  To be honest, I’ve never tried it inside of Windows, but really don’t care to test the theory.  Windows isn’t built for managing a library like that.

You also might need to upgrade your router.  I have a gigabit router, and it makes transferring movies from my computer to the server easier and faster – I’m only limited by the write speed of the drive.  A traditional 10/100 setup will take ages, as it will only typically transmit at the 10Mbps range.

There are a lot of guides and great resources to accomplish this type of setup all over the internet, so I won’t repeat it here.  The Ubuntu and XBMC communities are particularly helpful.  (Side note, I’ve pretty much converted away from RedHat-based distributions partially for this reason.)  Lifehacker also has a few guides on XBMC setups and tweaks.