After much wasted time trying to re-create TiVo, it turns out the real thing beats all.
You may recall that, quite some time ago now, I started a MythTV project. The idea was to create a Personal Video Recorder (PVR) based on Linux that could handle HDTV. I mistakenly assumed that it would not only be possible to create the ideal HDTV PVR on Linux, but also that it would be a relatively simple task for a hacker like myself. The project consumed a great deal of my time for a few months, most of which turned out to be wasted.
The bottom line is that cable companies make it nearly impossible to get decent quality HDTV except through their own cable boxes. HDTV is under the control of Digital Rights Management (DRM) robot overlords, and the overlords have spoken. They will not risk the possibility that we might record something like an HDTV movie on our personal computers. Theoretically, at least, it's not entirely impossible to route around the roadblocks. You may be able to get a cable box with an output you can capture (like IEEE 1394, for example). But, you won't be able to decode HDTV cable signals from the coax, and as far as I can tell, it isn't yet possible to connect the HDMI output of a cable box to a PC in a way that is useful to Linux.
If you're satisfied with standard definition TV, MythTV will do the job for you. I had few problems getting MythTV and a variety of capture cards working. I tried the Hauppauge WinTV PVR-500, the pcHDTV HD-5500 and the DVICO FusionHDTV5 Gold. They all worked more or less, but they were all overkill. The HDTV cards were overkill, because I could use them only in standard definition. The PVR-500 was overkill, because the best configuration used the SDTV output of the cable box, and there was no need for the two tuners on the card.
MythTV is not all that hard to set up, but it makes you work harder than you should. For example, you need to change some scan settings to get rid of blinking on-screen caused by the closed-caption signal. This sort of thing should be automatic, and it probably will be eventually (if the MythTV folks haven't already done this since I tried it).
If you don't want to get your hands so dirty with MythTV, the commercial product SageTV (www.sagetv.com) is a very nice alternative. Whichever you use, stick with a cheap Hauppauge card like the WinTV PVR-150. It is really all you need if you are going to combine your PVR with a cable box. The only reason to get a dual-tuner card is if you want to use it with unscrambled cable or want to use over-the-air TV.
The first alternative I tried was an HDTV-capable cable box with built-in PVR. What a disaster. They're not intelligent at all about getting the equivalent of a TiVo season pass, where the PVR records shows by name instead of specific time slots. The fast-forward and rewind features lag seconds behind when you press the button, and it's almost impossible to navigate through a recorded show. I always would overshoot the destination and have to watch more of the show than I wanted.
I finally invested in the Linux-based TiVo Series 3 with two cable cards. Yes, cable cards are a pain in the bahootie. Everything bad you've heard about them is (mostly) true. But, once you have them (mostly) working, the combination of cable cards and the TiVo is unbeatable. It gets you the whole HDTV experience plus everything that TiVo does that posers wish they could do.
For example, with two cable cards installed, TiVo can record two standard definition or HDTV programs at once, or record one program while you watch another. Some cable companies won't charge you extra for a standard digital cable box in addition to the two cable cards, so you even can have TiVo record two programs while you watch a third directly from the cable box. It's nice to have the cable box handy anyway, because you can't get pay-per-view directly from within TiVo.
The best part is that TiVo behaves like, well, TiVo. TiVo takes average reaction time into account when fast-forwarding or rewinding through a show. When you hit Play, it backs up to the spot you probably saw on the screen when you decided to hit the Play button. Add to that the season-pass approach to subscriptions and the intuitive interface—nothing even comes close to the user-friendliness of a TiVo.
Okay, so what's with this mostly stuff? I don't know if the cable cards are at fault or the cable company is at fault, but I've had two problems with cable cards. They tend to lose their authentication occasionally. They will re-authenticate themselves automatically, but your reception drops out in the meantime. I also do not receive a couple of premium channels I'm supposed to get, and the cable company hasn't figured out why. They're redundant channels, so it doesn't affect my viewing, but it's an annoyance.
The bottom line is if you want a real PVR, get TiVo. I've come around to GPLv3, and I'm in favor of the new license. But, it will be a sad day if GPLv3 forces TiVo to fork Linux in order to continue using it. TiVo has done a remarkable job with Linux and its hardware, and it should be rewarded, not punished.