Home Media Server
Posted by Umair Abbasi on Feb. 21, 2010 in Technology
I have always been a big movie buff, and over the years had been collecting hundreds of DVD’s. The whole aspect of keeping track of the DVD’s, searching through the DVD case for a movie really bothered me ever since I started my collection. Years down the line I have found the perfect solution that I am beyond content with.
A little background
I used to use this really well built software for the Mac called DVDpedia. Be sure to check it out if you are looking for a way to keep track of the movies you own, owed out to your friends. It comes with Front Row/Apple TV Integration. What that means is, you can tell DVDpedia the accessible location of your movie on your hard disk, that way when you click on the movie in DVDpedia it plays the movie from your hard disk. Once you have added the movie information into DVDpedia, it will automatically fetch the thumbnail of the movie from the Amazon database. It’s a really cool software priced at only $18. Give it a shot.
When I set out to build my home media server I already knew based on my past experiences with switching to different movies what I would like the server to do.
The first step was to decide on the software I wanted to use. This means beta testing out the various options out there and see which one applies to my needs best. My needs were simple, an interface like no other, support for maximum number of different codecs (something like a vlc player built into iTunes coverflow) YouTube, Hulu, Netflix, MTV, and any other video sites out there that I could jump on at a later stage.
Second, an always available network attached storage server hosting my movies to my Television via the above interface. An easily expandable location where I feel my movies are safe. Further, the server needs to be able to store all digital data including movies. Safe was the key word here, plus the ability of expansion.
Third, based on the above findings putting the machine together part by part. My first objective when looking for the hardware was to go beyond just a single purpose server. I thought of buying a server from which I could host various virtual machines using VMWare ESX. That way I have an instance of Windows Server running that I would like to play with for learning purposes, a cocktail of Windows XP, Windows 7, RedHat (and other Linux flavors), plus my network attached storage server. With this in mind I thought of going for the HP Proliant ML350 G6. But with the parts blunder I faced (read my blog HP Proliant ML350 G6 Server Review) and budgetary constraints, I had to drop the whole idea of virtual machines and stick to a single network attached storage server instead.
The Final Product
Based on all the research I did I chose the following components for my system. I initially chose Boxee but then moved on to Plex. I found Plex to just work. It will do what you ask it to do, the only difference is, it does it in style. With Boxee there is very limited interface management. With Plex you could view your movies in various layouts (view movie at the top).
Second with Boxee I was having a hard time getting it to recognize some of my movies. It just wouldn’t plain recognize the existence of some movies on the server. With Plex the movies that even Boxee failed to recognize just appeared with no tinkering on my part. But not to take away too much from Boxee, I would advise to test out both platforms and pick the one that suits your preferences the best. They are both well built software and require all your support to stay in existence.
There were two hardware platforms I had to consider purchasing for the setup. One would be the server hosting the movies, and the second the device connected to my TV fetching movies from the server and showing it on my TV using Plex.
I first considered Apple TV with a hack to run Boxee. Just when I was about to click on buy now I realized reading some reviews that with Apple TV having limited RAM it would not run Netflix. According to the reviews, Netflix required Mircosoft’s Sileverlight to run, and that itself required a higher amount of RAM than what was available on Apple TV. Instead I decided on Apple’s Mac Mini.
For the server I decided to run FreeNas as my network attached storage. I can’t write enough good things about FreeNas. The developers have done an excellent job putting this software together.I have to write a separate post about my praises for this software. Oh and did I mention it is FREE!!!
As for the hardware here is what I got:
- Intel Celeron 430 Conroe-L 1.8GHz 512KB L2 Cache LGA 775 35W Single-Core Processor
- EVGA 512-P2-N738-LR GeForce 8400 GS 512MB 64-bit GDDR2 PCI Express x16 HDCP Ready Video Card
- G.SKILL 4GB (2 x 2GB) 240-Pin DDR2 SDRAM DDR2 1066 (PC2 8500) Dual Channel Kit Desktop Memory Model F2-8500CL5D-4GBPK
- ENERMAX MODU82+ EMD625AWT 625W ATX12V Ver.2.3 SLI Ready CrossFire Ready 80 PLUS BRONZE Certified Compatible w/Core i7 Modular Active PFC Power Supply
- CyberPower Intelligent LCD Series GreenPower UPS CP1500AVRLCD 1500VA 900W 8 Outlets UPS
- SAMSUNG Spinpoint F1 HD103UJ 1TB 7200 RPM 32MB Cache SATA 3.0Gb/s 3.5″ Internal Hard Drive
- COOLER MASTER COSMOS 1000 RC-1000-KSN1-GP Black/ Silver Steel ATX Full Tower Computer Case
- 3ware 9650SE-24M8 Raid Controller
- GIGABYTE GA-EP45-UD3P LGA 775 Intel P45 ATX Intel Motherboard
- Nippon Labs Premium High Performance HDMI Cable v1.3 15 ft. HDMI TO HDMI Cable A/V Gold Plated for 1080P cable HDTV Cable
- LG 42″ 1080p 120hz LCD HDTV w/ Super Slim 1.8″ – 42LGX
- Crucial Gizmo! 2GB Flash Drive (USB2.0 Portable) Model JDOD2GB-730
- Scythe DFS123812-3000 “ULTRA KAZE” 120 x 38 mm Case Fan
- 3ware CBL-M8OCF-10M 1.0m Multi-lane M8 (controller) to discrete SATA (backplane/drive) fanout cable
Things I could have done without. The Cosmos case. I could have selected any simpleton case to house the components. I did extensive research on the cases out there, but with my past favorable experience with the Cosmos 1000 (read my blog on Cosmos 1000) I just kept coming back to this monster. With space for expansion, 6 hard drive bays, and potential to extend it up to 10 hard drives, I couldn’t resist.
The 24 port Raid Controller. I could have bought a 8-12 port controller instead. I got a really special price deal on eBay for this part and was just too good to overlook. Lets just say what I paid for a 4 port on NewEgg I got a 24 port for it with a one year warranty. 3Ware as per my reading is the best when it comes to their products even out of warranty. If its not something they can fix, they will just send you out a replacement.
I would have to write a separate post or several posts on the detailed configurations for each software and hardware component of the setup.
In short I have 6TB of storage with the option of expansion to up to 10-20TB on what I call my datacenter running on FreeNas. I have the server configured as a Raid 6 configuration what this means in the end is, if 2 of the hard drives fail on the server my data will remain intact. All of it. No hiccups, no sluggishness, absolutely no performance degradation. All I would need to do is remove the failed hard drive/drives and replace them with the same model hard drive. That’s it. The server will recognize the replacements, start using them just as it was doing before.
For expansion I need to add same model hard drives and the 6TB would increase in space to just about as many new hard drives I have connected to the 24port Raid controller. The 6TB I mention are 6 separate 1TB hard drives performing as a single instance to provide 6TB. Of course for data retention and to preserve data in the event of a hard drive failure the Raid controller takes quite a large gulp of your 6TB. But after the 6TB mark, the additional hard drives you add, the Raid controller doesn’t take as large gulps as it did with the initial 6 hard drives. To calculate the minimum number of hard drives required plus the actual usable space on a Raid 6 configuration, you could use this calculator.
Seeing it in Action
I can turn my TV on, switch to my HDMI channel, pick a movie from my movies on the server and hit play. I could stream videos from HULU, YouTube, Netflix, MTV, BBC, and various other Internet channels.
The server hosts my movies to my iPhone as well. I use Air Video Server on the Mac mini to stream movies to Air Video Player on the iPhone. The Mac mini simultaneously could be showing one video on the TV to a user while at the same time stream a different one to my iPhone.
The server whilst doing all media related tasks above, does wireless Time Machine backups for two Macbook Pro’s, Torrent downloads, remote access to files stored on the server via afp or smb protocol, streams iTunes music library to iTunes authorized client machines, FTP server for remote file uploads and downloads, Windows 7 image backups, auto emails containing the health of the system at the end of every month , and acts as my vault for my Aperture 3 library. This is close to half of what the server is capable of doing, the other half would be, rsync (off site remote backups to another machine), Active Directory integration, and Webserver capabilities to name a few.