Saturday, March 15, 2008

My "Enterprise Class" Home Theater Media Center


At the last NY Exchange User Group meeting (March 2008 - StealthBITS Exchange auditing software), the topic of DVRs came up before the meeting. Not sure how, but it did. So, I figured I would share how I built the ultimate DVR for me. And this ain't your run of the mill DVR (e.g. cable company, TiVo, Replay, etc). This IS art to me. See the in construction HTPC photos.

The home theater media center (aka home theater pc, htpc) journey started about one and a half years ago, back in August 2006. A buddy of mine dropped me an email and literally told me he was building a "media center PC" due to a Maximum PC article and wanted to know if I was interested. Little did I know when I responded and told him "Cool. Until they can record HD off cable, I'm not building. I'd love to see yours." Well, I've learned quite a lot since then, and that the holy grail is not HD, but commercial skip and portability (think iPod/streaming/burning).

The journey, and it was one since it took over a year from start to finish involved determining what media center software to run, what hardware, and managing the whole process. So, we quickly determined that the media center software was going to be SnapStream's BeyondTV which is probably the most feature complete (e.g. multiple tuners, commercial skip, multi-format support on record [MPEG2, DIVX, WMV, H.264], no monthly fees [sorry TiVo], burn shows/films to DVDs, download them) and stable solution (runs on Windows and works - sorry MythTV) on the market.

The bigger and more complicated process was selecting what hardware to run this on. We quickly determined this could not be a standard PC (e.g. Dell, HP, laptop, etc) due to noise levels, looks, and functionality. We wanted more than those could provide. So, we quickly realized we must build a custom PC. This was something, I gave up in 2000 due to time constraints and deciding that once multi-processor computers were widely available, I'd be willing to accept an OEM one (fyi: main stream desktop OEMs started providing SMP support back in 2000). But, not on this. This HTPC was going to be in my living room so it was going to be very visible and so it needed to be unique and eye-catching. This was going to be our art work center piece.

So, before we could select the exterior case, we had to figure out which "heart" was going to run this. This was the most critical piece of the entire project, since a motherboard which is not stable or has not been sufficiently tested with hardware for compatibility, can easily derail a stable environment (e.g. lockups, hangs, reboots, etc). So, we spent months reading, discussing, and evaluating which motherboard to go with. In the end we decided on a Asus P5B Deluxe w/o WiFi motherboard. This was going to be the heart of our future HTPC.

Realizing that "just" selecting the motherboard was very difficult and time consuming, I realized we were going to need some help maintaining and managing this entire project. So, we quickly embraced and started using Google Docs (Spreadsheets). It's a great free web based collaboration tool. This made keeping track of parts #'s, comments, URLs, notes, etc a whole lot easier than the original back and forth email and phone calls.

Once we had selected the motherboard, we spent a few months repeating this process for the case (roomy for all the components and works with the motherboard), hard drives (they had to be quiet, fast, and reliable), the video card (had to be passive, no fans on this one), and the CPU heat sink (quiet and efficient). The rest of the components were figured out in a matter of mere weeks. I know, sometimes one of my flaws is I'm too thorough and detail oriented. My buddy didn't help me on that since there were times he was performing calculations on sizing of the CPU heat sink and case.


In the end,
I purchased the following hardware components:
1 x Asus P5B Deluxe w/o WiFi, Intel LGA775
1 x Zalman HD160XT HTPC Enclosure with 7" LCD Touchscreen LCD
1 x XFX GeForce 7600GS 256MB DDR2 PCI-E GPU (PV-T73P-UMH4) RoHS, HDTV ready, HDCP Ready, SLI ready, Vista ready
2 x Samsung HD080HJ, 80GB, SATA, 8MB - 8.9ms, 2.5/2.9bel
2 x SAMSUNG SpinPoint T Series HD501LJ 500GB 7200 RPM 16MB SATA 3.0Gb/s Hard Drive
1 x Pioneer DVR-112D IDE, 18x DVD+R, 10x DVD+DL
1 x Processor, Core 2 Duo E6550 2.33GHz, 4MB L2 Cache, 1333MHz FSB
1 x Artic Cooling Freezer 7 Pro for All Pentium D
1 x OCZ OCZ2G8002GK 2GB Kit DDR2-800 PC2-6400 Gold Gamer eXtreme XTC Edition Dual Channel Memory
1 x Antec NeoHE 500W Power Supply
1 x SnapStream Beyond TV PCI Bundle (Digital)
1 x 3ware 8006-2LP SATA RAID Card
1 x Hauppauge PVR-500 for 2 tuner support (Ben only). Card supports 2 inputs. My buddy purchased the PVR-150.
1 x Adesso WKB-4000US, wireless SlimTouch Mini 2.4GHz USB Touchpad Keyboard (Ben only)
1 x APC 1500VA UPS (Ben only)

So, after waiting 2-3 weeks and getting all the equipment, we started the process to unpack and build one HTPC. The reasoning behind building one at a time, was to see what issues we might run into, and to limit the confusion of having duplicate items out. Our first issue was getting the CPU (w/ brand new 1333 FSB support) working on the motherboard (Asus P5B Deluxe). The motherboard had a sticker claiming support of 1333 FSB, but this took a few hours of upgrading the BIOS firmware 2 or 3 versions later and doing this only via a USB memory stick (we didn't have a floppy drive of course - make sure all servers you buy have a floppy drive). The next issue was getting the BIOS configured in the correct RAID configuration. The RAID configuration we wanted to run was two RAID 1 configuration. One RAID 1 for the operating system and one RAID 1 for the media files. Who wants to lose their TV shows/movies or all that configuration? This is a mission critical application like Exchange, hence the need for redundancy. ;-) More on that later. So, we ran into a problem that the motherboard only supported 1 array (this took hours to figure it out since you needed to plug the SATA HDs into different ports on the motherboard to get the RAID array working versus standard SATA ports, the technical writers for the documentation first language is probably not English, and none of the folks we read using this motherboard on the internet were running/writing about 2 arrays difficulties). So, you could not configure 2 separate arrays of RAID 1, but a single RAID 1 array. This would have meant combining our OS and media drives, which was unacceptable. So, we ended up purchasing the 3ware SATA RAID card above. This obviously delayed the HTPC build by another week. Once we had this, we configured all 4 HDs off the RAID card to two separate RAID 1 arrays.

After this, we connected the motherboard up and connected all the cables for the Zalman case. This turned out to be an issue, since when we installed Windows XP Pro w/SP2 (pre-applied), the SD/CF/Memory Stick and those ports took drive letter C and forced XP to install the boot onto drive letter D. So, back to powering off and disconnected those ports and then another re-install. Once this was done we shutdown all the extra services and tweaked it for speed. This HTPC will not get Windows Updates, anti-virus, or any firewall above the XP one. Speed and stability are too important for this. Hence the importance of running a locked down XP for the HTPC.

One would think we are done, but we still had a full day of work ahead of us. I had bought special heat resistant tubing (www.wirecare.com, F6 - self wrapping braided sleeving) for the best cabling job one could do. Cabling is very important when designing an ultra quiet PC. So, we spent about 7 hours dedicated to just cabling the inside of one of the HTPC's. A bit excessive, but it's a master piece in increasing airflow which reduces fan noise. Keep in mind, this is for the living room, so you don't want to hear it at all.

Current Configuration
HTPC is connected via HDMI (audio + video on this single cable) to a Sony Bravia 40" LCD.
Switched from RF Firefly remote for BeyondTV control to an IR Firefly remote (Firefly is the BeyondTV remote). Using an IR remote for the Sony TV.
7" touchscreen LCD on Zalman is used for performance monitoring and photo showing.

Planned Upgrade
Convert both IR remotes (TV & BeyondTV) to a single unified Logitech Harmony One Universal Remote
Connect second cable box connect to second TV tuner card already installed.

Redundancy and Data Protection on the HTPC
One would think two RAID 1 arrays for the operating system and media files would be sufficient, but not in Ben's book. So, I run Symantec Ghost 12 (image the entire OS volume) before any major configuration changes (e.g. software changes, version updates, hardware additions, etc). I run a Ghost Server on my home network which makes it easy for backups and have prepared the boot CD in case of the need for a bare metal restore. And I have already prepared (slip streamed) the Ghost boot CD for the RAID and motherboard drivers for the HTPC.

So, in the end, we spent about 1 1/2 years from brain storming in the beginning to completed product. During this time, about 3 or 4 full days (7-12 hrs) over a period of about a month building the base configuration of the hardware and getting Windows installed. It was weeks longer to get all the software (e.g. BeyondTV, video card, remote software, etc) and hardware configured correctly. As of Fall of 2007, the HTPC has been fully operational, and it's a pleasure to look at it and use it (even my wife uses it, it's that easy). Will I get my money's worth out of subscription fees, no, but sometimes in life folks work on something because they love it. This is what I love.... computers, technology, and increased productivity.

Any questions, drop me an email.

-Ben


1 comment:

jollibee's history said...

i really inspire from this great post,,,tht home theater in home..look its somthing really admirable tht how people earning n business while at home,,