For the past week or two I’ve been doing some work toward some distributed media (audio, video, etc) for various parts of the house. What I’d like to do, ideally, is be able to watch HD TV on any TV in the house without the added monthly expense and hassle of a digital cable receiver from Cox. I’d also like to be able to record the shows we regularly watch, play them back from anywhere in the house, stream music wherever we want it, that sort of thing.
So far Windows Media Center seems to be a really good fit for the DVR portion of the job… unfortunately, it would also require a fairly expensive box be attached to each TV. It would also mean two remotes per TV, or a universal – and good luck getting one to actually work. I suppose I could build some Windows boxes fairly cheaply, but we’re still talking about $150-plus per instance, and that’s assuming I re-use any old hardware I have around such as hard drives.
After some reading, including some stuff I quite frankly didn’t really believe, I bought a Raspberry Pi with a wifi adapter to play around with. Now, admittedly I’m a little late to the Pi community, but it’s really a pretty slick little board. The Raspberry Pi is a tiny Linux system running on an ARM processor with half a gig of memory, and using an SD card for storage. There are a couple of Pi-specific XBMC distributions, and they worked great for music and movies. It was pretty impressive to see a sub-$50 computer the size of a pack of Camel Lights streaming HD video over a wifi link, without a hiccup. Unfortunately, XBMC doesn’t have native ability to handle a cable tuner like the HD Homerun.
I ordered an HD Homerun Prime-CC and picked up a CableCARD from Cox. The monthly rental on the CableCARD is not unreasonable at $1.99, although I do think it simply sucks that they are encrypting pretty much everythign other than the local broadcast channels. They certainly earned their two bucks over the past few days; since Friday of last week I’ve dealt with five or six Cox support people on the phone, and two on-site service calls trying to get the CableCARD setup working. It seems that all of the problems we encountered were in the initial setup and (mis)configuration of the hardware from the Cox network end. Once I got a tech who knew how to get a CC set up, it went pretty well… until they shut off our cable receiver, then managed to un-pair the CC again when I called about the receiver. Once we got that straightened out, though, things started really coming together.
Once the HD Homerun and CableCARD are working, you need a PVR (Personal Video Recorder) back-end to feed video to the Pi or anything else running XBMC. I’m running Windows Media Center on a Win7 machine, with ServerWMC installed. ServerWMC is a free program that allows remote XBMC systems to connect to WMC and pull video and program guide information. So the setup here is [Cox cable] –> [HD Homerun Prime with CableCARD] –> [E4200 Wifi router (via gig-Ethernet)] –/(wifi)/–> [Raspberry Pi / OpenELEC XBMC] –> [Insignia 28″ LED TV]. If I were ambitious I’d make a Visio diagram, but I’m lazy… and no one reads this crap anyway.
As of today I have streaming music, HD video and live TV thorough this system. I haven’t tried playing back recorded TV, but that may require transcoding… I’m not sure if ServerWMC will stream recorded TV files or not, but if not they’re in a format the Pi can’t play, so they’ll need to be converted to something it can play.
Possibly the coolest part? I was not expecting this, but the Pi has a CEC adapter built in. CEC lets you control XBMC from the TV remote. The TV sends remote button signals through the HDMI interface to the Pi, so only one remote is needed — no IR receiver on the Pi, no need for a universal remote. Too cool. That doesn’t even work on the little Windows EEEBox in the other room – I’d need to add an external CEC adapter for that.
I can see using Raspberry Pis for other things as well. Having an inexpensive Linux machine, powered by a common cell phone charger and equipped with wifi, wherever you happen to need it — pretty nice. I’m thinking one of them with the add-on dedicated camera (5Mpixel, 720p video) that I could set in a window to catch whoever has been letting their dog crap in the side yard would be nice. A video doorbell seems like a fun project. And one of them will make a nice backup for the Asterisk server.