Monday, July 26, 2010

The Quest for the HTPC

I swear I must have a problem. When I get it in my head that I'm going to do something computer related, I research it for hours, no, days until I'm ready to make a decision. Sometimes its just to save $20 in the end. This is definitely the case with my current project: The HTPC.

But first, what got me on this adventure? I was transferring some videos from my personal server to my external hard drive on my desktop when I noticed that this was taking too long. I'm not sure why this time specifically I noticed that it was only going at about 10 megabytes/sec, but I had to fix that. A trip to the store later, I was the proud owner of an 8 port gigabit switch. After a few tests, I found transfers to hover around 40 megabytes / sec. Not fast enough! After some research on my old hard drive being used in the server, it was clearly the culprit. But if I'm going to upgrade the hard drive, why not go the whole way?

I started this project off with a simple goal, to improve the capabilities of my personal server and to build a device worthy of 1080p playback on a new TV. The TV part came up when it was mentioned that I might be receiving a new HD TV for the fall. How hard can that goal be?

Well, according to my OCD, there is always more to research!

In the interest of keeping costs down, and overall complexity down, I've decided to make one computer that will serve as both the 1080p playback device and my personal server. The requirements I initially have put on both parts are the follows:

  • Smooth 1080p playback. The best quality movie I have right now is about 15Mbps, so that should be something I am for.
  • Relatively quiet. I'm not completely crazy over silencing the components, but I'd rather to make some effort in keeping the noise down.
Personal Server
  • Backup of personal documents (photos, work, etc)
  • SSH
  • Webserver
  • Samba
  • Etc, all easy stuff.
Since all the requirements on the personal server side are easy (assuming I roll with an Ubuntu distro), I decided that I would use XBMC for my HTPC experience. For those that don't know, XBMC is a media center application dealie. Give it a search on google for more information on their website.

However, with this decision, I opened myself to a ton of other questions. General questions include: How do I organize my media best for XBMC? How do I continue to add new media to my collection? Lets start with organization.

I took a look at my movies and tv shows that I have stored. Although I did a tad of work recently for organization, it wasn't anywhere good enough. This is especially true when you take into account the organization required for XBMC (and to satisfy my OCD of course). I started off with just doing some renaming and folder structure. I used this perl script I found for TV shows where it renames the files to include the episode name. That was working for a while, but it required me to name the season folders "Breaking Bad1x" (as an example for the first season of Breaking Bad).

The season folder naming had to be undone when I moved to media scapers. As a mostly Ubuntu user, I needed a media manager program to run under linux. Should be easy enough, right? Well, other than the fact that it needs to organize everything for XBMC, but it also needs to like, run on linux. The problem is nearly all of the popular media managers are made using the .net framework. I tried a bunch of them listed on the xbmc forums. Some require .net fw 3.5 (which doesn't work with wine), some were completely unstable in mono (I'm looking at you, Ember), and the one cross platform one I found (programmed in java) didn't fulfill my needs. After much aggravation, I switched direction. I just downloaded TinyXP rev9 and ran it under VirtualBox. I shouldn't have had to do that, but it got stuff working. Of course there were some issues with getting TinyXP to work (like installing the network drivers, .net 3.5 framework, etc) but I knew how to get those issues resolved (they just took some time).

So with my XP VM running, I decided on Media Companion. Why? It works, and seems to still be doing a good job. So with this program in hand, I'm downloading nfo files containing all sorts of info about the movies / tv shows and all sorts of pictures, including fan art and folder images.

Life is now going well in that regard. Just to point out though, that took a few days of work to come to this conclusion.

I think I'm going to save part 2, the media automation, for another post. This is getting long enough. Actually, I'm not really done figuring out the automation stuff, so it'll be more of a work in progress post :P.

No comments: