General Posts

MythTV

I’m really interested in the newest version of MythTV. It is a Windows Media Center type of program that runs on any variant of Linux, BSD, or OSX.

I’m actually not interested in this just because it is both Open-Source and Linux-based, but because of the approach it takes to handling the TV recording, storage, and playback.

MythTV is different because it uses a highly distributed client-server architecture for what it does. To most of you this means nothing because you might own one TiVo, or a PVR/DVR built into your cable-box at most. And, oddly enough, I criticized this client-server based way of handling things several years ago when I first heard about it, because I thought it was much too complex for anyone to use (myself included…believe me…Rob and I tried). I thought everyone would want a simple record / store TV shows and pause live TV box, and nothing more, just like you get in TiVo or some equivalent. I was always saying “Leave it to Linux nerds to take something that should be simple like recording TV, and have them turn it into a distributed computing project. Someone must have figured out how to program their VCR, so now they need a new way to feel superior.”

But now, they have much improved everything and both expanded the functionality and limited the setup to something more simple, so now you can install a “stand-alone” version of it (which means it contains the front-end that displays stuff, and the back-end that records and schedules stuff) onto on a single PC.

And, if you do go for expanding it into a vast array of networks, it can do crazy stuff.

There are essentially three layers of functionality a computer can fit into if you are building a mythTV network.

1.) Front-End – Displays the client and runs plugins (such as news readers, weather forecasting, and web browsing). Plays media, and can schedule recordings. Also this will have any special remote control stuff you put into it so you can sit on your couch w/ a remote and work the thing instead of a mouse and keyboard.
2) Master Server – Main Back-end computer. This either has the database with all your recordings on it, or it is the main manager of the database. It schedules recordings, and tells it’s slaves (or in the case of only one backend, it just serves up the content itself) which front-end is requesting information. It manages what information is stored in other places. You can have only one back-end computer where this would do everything from this level as well as 3.
3) Slave Server – This is where the capture-cards are, and where the TV shows are recorded. So, you run the cable lines to these computers and TV is served over the network from here to the front-end clients. Also, these store (to a local or networked storage location) the media you record. And, it transcodes the media from one format (raw TV to dvd or mpeg4/divx for example) to another to be played on other front-end computers.

Now the nice part of this is that you can have one computer telling two or three other computers to record a bunch of shows on all at the same time, and have another serving regular TV to a front-end box somewhere in your living room while also serving another recorded TV show to the desktop computer in my basement. And, if you go to sleep, you can tell the master backend to shut down the other servers until there is a TV show to record, and then the master wakes the slaves back up to complete that task.

I don’t know what I would need that much horsepower for to watch TV. And, I definitely don’t have enough money for that many decent TV tuner cards. But it is a neat idea. And, more simply, it can do this all on a single computer if need be, which makes it really flexible.

Anyway, if I had the money, and an HDTV tuner card were affordable, I would love to build one box to record TV. I really don’t like my VCR, and I need a good way to get stuff back and forth between the computer and the TV.