August 23rd, 2007

MythTV

About four years ago, I put together a small linux box with 512MB of RAM, an Athlon XP 1800+, a Hauppauge TV tuner card, a 120GB hard drive, and MythTV. I connected this to my TV with an S-Video cable from the built-in motherboard video, built myself a IR receiver and had a pretty nice PVR.

Of course, over the years, I've upgraded various pieces of the system. I added a DVD drive, and threw out my set-top DVD player. It turns out, mythtv not only makes a better PVR than is available commercially, it also makes a better DVD player than many on the market. Partly because of two "features" it doesn't have: "user-operation prohibited" (aka: You Will Watch These Previews) and Region Coding. But also, it has a good output scaler, the drive doesn't often have trouble reading DVDs, and it doesn't crash as often as my old player did. (yes, that's right, my hardware DVD player crashed more often.)

I've also done some upgrades in support of High Definition TV. I now have a PCHDTV 3000 digital tuner to record the MPEG-2 digital streams (some HD, some SD), a GeForce FX 5200 video card to be able to output the 1920x1080 resolution, and a Infrant ReadyNAS with 500GB (soon to become 750GB) of storage.

Cost is certainly not an advantage this system has over renting a PVR from your cable company. It's been a while, but as I recall, the original system cost me about $600 to put together. All told, the upgrades since then probably cost another $800.

I won't go through the many advantages it has over a cable company PVR or a tivo, but, two of the most obvious are automatic commercial skip and that you can schedule programs via a web server, rather than having to use a remote control. But the most important to me, really, is control. I can make it do whatever I want. I don't have to be limited by the functionality the cable company wants to let me have. I'm no "open source or die" zealot either. But when they're putting the majority of their work into features expressly designed to inconvenience me, it just makes sense to use an open platform.

However, there are two ways I'm quite dependent upon the whims of an external company for it to keep working. The first is the actual cable signal. I'm lucky enough to live in an area in which both RCN and Comcast provide cable service. I'm very happy about that, because RCN provides unencrypted MPEG-2 streams for all the "basic cable" channels, plus a few extras. And that's a pretty good list. I'm told Comcast does not; they encrypt everything except the channels available over-the-air. Now, RCN doesn't broadcast unencrypted by mistake, it is their explicit policy. However, there's always the concern that they might decide to change that policy once CableCards become more ubiquitous. If they did, I'd be in trouble, as it's currently impossible to use a CableCard with linux. This is of course by design (as I'm an evil hacker trying to pay for and watch their content, don't'cha know, can't have that).

Oh, and while in the middle of writing this, I just ran across an article discussing how users of the HD TiVo are also going to be screwed soon, because the HD TiVo doesn't support bidirectional CableCard communication. Why doesn't it? Because the cable company wants to control the entire user interface of any device connected to their network. So much for innovation...

Anyhow...

Another important part of a PVR is the tv listings. If it doesn't know what programs are showing, it's not really usable. While you might think that obviously the TV stations want to disseminate the program listings as far and wide as possible, it turns out, the TV listings aren't actually provided by the stations. They often have no idea what they're playing, other than the absolute basic timeslot data. So, no episode info, descriptions, etc. In the USA, much of that is determined and distributed by one of two companies: Tribune Media Services or GemStar. Of course, my cable company pays one of them for a subscription to the listings, so they can show it to me on the TV Guide channel and the set-top-box TV guide. But do they make the data available to me? Of course not. Luckily TMS has been directly providing a data feed in XML format free for non-commercial use for a few years now. Unluckily, they decided to shut it down, effective September 1st.

Fortunately for me, a number of tv-related OSS developers got together and started a non-profit organization, Schedules Direct, to fill this void. Unfortunately for me, they now charge a subscription fee, to cover the fee that TMS is in turn charging them.

So, now, I'm going to have to pay a subscription fee to get the same guide data that I'm already paying for as part of my cable subscription. The cost is pretty small, but still, irritating.

Why do content companies try to make it so damn hard to pay them for content? I'd be in the market to upgrade to an HD-DVD or Blu-Ray drive to replace the DVD drive, except, of course, I couldn't use it, because it's currently impossible to play such a disk on an open platform. I'd be willing to pay the cable company for some premium movie channels, except, of course, I couldn't use them, because it's impossible to decrypt them on an open platform. It really boggles my mind.