I've been asked a few times about my media center setup and I've described it in disparate posts. I'm going to document it here and point folks to it to perhaps save some time and allow a place for comments to occur. I'll break this down into parts and try to put a heading on each - my first Journal entry so we'll see how that goes!
I use and advocate unRAID from LimeTechnology. http://lime-technology.com/ My two unRAID servers are for the most part appliances. I do not run extra software on them although it's possible. I use them as NAS and I chose this software for a few reasons. 1) The filesystem on the disk is standard - ReiserFS which is a journaling filesystem. IF I need to recover from a disk issue having a standard filesystem improves my chances! 2) Because unRAID stores it's parity on ONE drive and doesn't span disks drives not being accessed can be spun down - less power, less noise, less heat. 3) The software isn't expensive, is mostly open source, it's fast enough for media serving and backups, and it boots from a USB with no O/S installed to the HDD. 4) I get to use drives of any size so long as they aren't larger than my parity. I can mix SATA, IDE, SCSI, of any size together. I can upgrade disks singly with larger ones. 5) It's fault tolerant. If a single disk fails (been there done that) I lose nothing and my array continues to work. I can pull that disk to recover it or swap in another easily - power cycle required. IF two disks fail I lose both of those disks worth of data and NOT an entire set of data. Remember, parity isn't striped and neither is the data. 6) Pretty hardware agnostic overall. I have upgraded mobo, drives, CPU, memory, it just keeps working. You have to be prudent and careful so far as keeping the setup straight but it's NOT hard.
My two unRAID have a combined capacity of over 19TB (not counting parity). One server is for movies and music exclusively, the other is for TV shows, backups, misc crap, photo backups, blah blah. Both are on GigE but the movie one is only synching 100meg for some odd reason I cannot figure out. Sucks for movie copies, doesn't hurt movie streaming.
I use XBMC http://xbmc.org/ as my software of choice, yes this is what used to be run on hacked XBOX hardware years ago. It's now 1080P capable, runs on OSX, Windows, Ubuntu, and I believe IOS. It can be run on AppleTV, on the RaspberryPi, on MAC hardware, and on my choice of hardware - Intel ATOM\ION boxes. Prices on these vary, I have Zotac, Asrock, and ASUS prebuilt boxes. I have cheap SSD in some of mine, laptop drives in others. Video acceleration occurs on the video chip so the CPU loafs at maybe 15% total usage (4thread capable). I use a USB MCE remote control that's supported my Lirc. My OS of choice is Ubuntu 10.4 although I have tried several dedicated XBMC distro also. I like the full install mostly because I run code compiled from source. to keep my various box's libraries in synch I have a mySQL instance on my workstation desktop but may move that eventually. My front-ends are using wired ethernet but wireless works on them fine if I wanted. I have even lent spares to friends with a USB hard drive for storage. These connect to my LCD flat panels with HDMI via HDMI switching stereo receivers. I get 5.1 surround no problem! I think it's also possible to get DTS but I don't use it, whatever ALSA or Pulse supports XBMC does too! The AppleTV is probably your cheapest way to have a nice front-end but you have to jailbreak it and I'm not sure the new one is more than 720P capable - the older could do 1080 with a decoder card.
I use SlySoft AnyDVD-HD for media decryption. I rip DVD to ISO using DVDShrink but do not compress, I remove languages I do not speak. This retains menus and extras. For BluRay it's more complicated. I rip them using eac3to to MKV and raw audio files. I get chapters and subs this way too. I use the GUI front-end in meGUI for controlling eac3to - I've gotten lazy that way. Once ripped I compress using x.264 with either meGUI or HandBrake as my GUI front-end. Lately I've been leaning more towards HB's simpler interface and it's likely best for newbies. Once the video is compressed (it goes from say 20+gig to half or one third that) I mux the audio, video, and chapters with mkvmerge into a single MKV container. I do not downgrade the audio, be aware that lossless DTS audio can be over a gig itself. Subtitles I discard UNLESS there's a "forced" subtitle. For these I use BDsup2Sub to save off JUST the forced titles and to get them into a format that MKV can store. I track what I have in my library using DVDProfiler. Whew, movies done! Oh, note that it can take hours to compress video and I have a pretty damn fast system - it's worth it for the disk savings and no I do NOT notice a quality loss even on a 65inch screen.
TV shows - I download these via torrent, or pull them from my TiVO (I have TiVO HD upgraded with 1TB drives), or I use sabNZB\Sickbeard to pull from usenet. I use the Sickbeard software most often these days as the files are ready to go no muss no fuss and it's automated. But some shows I pull and process from my TiVO using KMTTG http://code.google.com/p/kmttg/ Processing this is just like processing a BluRay using HB except TV shows I knock down to 720P, I compress the audio, I edit out commercials using VideoRedo, and I don't have to mux since it's already all together. For oddball stuff and live TV the TiVO rocks and yes I could cut my cable cord and just download but I don't mind paying for content - I just want the content MY way is all!
Audio - I rip CDs to MP3 or FLAC using ExactAudioCopy. I manage tags and covers using MP3Tag http://www.mp3tag.de/en/ I purchase a great deal of MP3 from Amazon these days now that it's cheap and easy
Some things to note:
XBMC can be controlled with Android and iPhone devices, I have Apple hardware. AirShare works with XBMC, I can watch video, show pictures, or listen to music streamed FROM my iPhone via wireless. It's possible to watch NetFlix, Amazon VOD, and a ton of other streaming sites on XBMC for Linux using a pay package named PlayOn Media Server running on a Windows desktop - my desktop is Win7. I can stream these to my iPhone by poking a hole in my firewall for it too (firewall on an Atom device running Linux too BTW). To manage metadata I use Ember http://ember.purplepig.net/ and I sometimes play with MediaCompanion Gen2 but it seems to choke on the numbers of files I have!
Things to do:
Get my HDHomerun working with XBMC, I don't know why - maybe so I can try to direct it to my iPhone with PlayOn? Figure out how to setup a MythTV box, again I just want to. Get my DiNovo Mini working with one of my XBMC boxes again, it's a nice remote bluetooth remote. Move my SQL database to either one of my XBMC machines or to some other Atom box in the house - just get it off the hardware I use for gaming. Speaking of gaming, I want to get MaME working on my XBMC machines so I can play games! I've not yet figured out the controller issues, the database issues, or the art issues for doing this - I'm all ears!