A Perfectly Good-Enough Media Center
I recently did a review of my cable bill and nearly had a heart attack. I was spending over $150 a month on a package that included literally hundreds of channels. And I didn't watch any of them. Meanwhile, my house was (literally) littered with movie DVDs no one watched because they were a) not in the case, b) not near the T.V., and/or c) not free of scratches and various sticky residues. This was a situation clearly in search of an overly complicated technical solution.
I started my search by looking at media servers. I wanted something that would run on a spare Linux PC, because I have spare PCs and because Linux is free. I wanted something that would stream to my television. And I wanted something with an an active development and support community. The two options that rapidly rose to the top were XBMC and Plex. I initially focused on XBMC because it appeared to be the more configurable of the two, but finally settled on Plex because of it's simple integration with Roku (which I'll discuss more later).
Plex is actually a fork of XBMC and retains much of what makes that such a great option, but offers a simpler interface that might work better for people who want to stream movies but might not really be full-on cinemaphiles. Installing it, in my case, was a matter of Googling for a repository hosting a compiled version of the app that worked with my Ubuntu server, adding it to my sources, and running "apt-get install". But that was the easy part.
The configuration interface for Plex is pretty straight-forward, but I had a challenge getting it to see the 3TB drive hosting my video files. There were two reasons for this. First, Plex has some pretty specific requirements for how file permissions have to be set. It's well documented, but not something you can breeze through without actually spending a bit of time to understand it. The second problem was that the secondary hard drive I was using to store my video was not as mounted as I had thought it was. Ubuntu made it almost too easy to use the non-system hard drive. Just click on it (under devices) in Nautilus, and it would mount and be instantly usable. The problem was that, since I hadn't added the drive to the fstab file, this was a manual operation and the drive was nonexistent upon start-up of the Plex server. It took me a shamefully long time to figure out that I had to actually mount the drive, as part of the boot process, by listing it in fstab. Then, do the Plex permissions per the documentation. Then, finally, the files would be visible to the Plex server and I could add them to my various media libraries through the normal (and simple) Plex configuration process.
The tricky part
sudo chmod 755 /my/video/dir
So this got me a functional media server and that was cool. Next I had to put stuff on it, and the obvious place to start was the aforementioned piles of DVDs. After some discussion with friends, I decided that the best format for storage was MP4, based upon it's wide support. There were good arguments made for MKV as well, but I went with MP4. The most popular tool for turning DVDs in MP4s is a free app called "HandBrake". There is a special DLL required to handle the first step of the rip (extracting the file from the DVD), and this LifeHacker article was an excellent source for that part. Beyond that, I basically used the default settings to create 720p MP4 files of around 2 gigs per movie.
I played with Plex for a while, and it's a pretty impressive piece of free(ish) software. It recognizes new additions to the media locations you identify, automatically searches the net for metadata and images, and indexes everything. Be careful naming your files according to their "official" names as found in the IMDB and T.V. DB. Plex has an excellent article on the topic. There are clients for the various phones and tablets out there, and you can watch movies in a browser as well, but that wasn't the real goal of this. So the next step was to buy a Roku device.
I started with the Roku 2 because a) I found one on sale and b) since one of my T.V.s was older, that was the newest Roku it was going to be able to run. This made a cheap test with nothing I might need to throw away. Older T.V.s are missing the HDMI connector, which is the only connector available from Roku 3 and, presumably, anything coming later.
Setting up a Roku 2 is decidedly short of rocket science. It's has two connectors: One for the power plug, and one for the T.V. For this model, the only internet connectivity was wireless, so the physical aspects are rather straight forward. Plug it in, sit it somewhere close to the T.V., and connect it to the matching ports on the back. When you turn everything on, you'll need to switch the input to "video 2" or whatever your remote calls the connection in the back of the T.V. Roku's welcome screen will pop up and walk you through the process of connecting to your home network, linking with your online Roku account, and selecting "channels" of available content. The Roku 3 I used for my digital T.V. wasn't much different. It had a hardwire option for internet connectivity that I didn't use, and a different A/V connector, but the rest was pretty much the same.
I am truly amazed at the quality of the video I can stream across my house. I kept trying to get my family to be amazed too, but they are rather jaded about that sort of thing, having me to work over all the challenging parts. In any case, the Rokus performed admirably.
I'm subscribing to Hulu+ and NetFlix, and I already had an Amazon Prime account (the free shipping alone makes it a bargain). Between that, the various niche free channels, and the Plex channel (Roku discovered it and ran a wizard like everything else), there is plenty of content. Roku's built-in search feature integrates with all of my subscribed channels (excepting Plex, unfortunately) and can find whatever show you are looking for across everything you have access to.
The content the various channels offer can be quirky. Hulu tends to have the most recent episodes of popular T.V. shows (but not all channels), and an okay selection of movies. NetFlix tends to have television backlogs and a large selection of movies. It doesn't, however, always work that way - Hulu has 50 years worth of Doctor Who, and NetFlix is quite current for many shows. It'll take a while to understand where to find everything.
My ultimate goal here will be to cut a sizable chunk off my cable bill, which I've already started on. No more HBO, Showtime, etc. As my family gets used to the rather large selection of shows they now have, I should be able to cut back to basic cable without too many complaints. I'll lose some sports channels I can learn to live without, but I'll still have access to local news and "event" T.V. The next project just might be to look into digital antennae and see if I can cut the cable completely.
Well, not "completely". I'll still be using a metric ton of internet.