/var/opinion - The Ultimate Linux PVR

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.

Nicholas Petreley is Editor in Chief of Linux
Journal and a former programmer, teacher, analyst and
consultant who has been working with and writing about Linux for more
than ten years.

I think your article overlooked the easiest way to record and watch cable. Use the cable companies stuff.

The Comcast PVRs are integrated with their programming. And they have recently upgraded the software. With the Comcast hdtv pvr ($15/mo), you get *three* high-def tuners. That's right.

With Tivo, you have to buy the box for $300, and pay monthly fees for the guide, and monthly fees to the cable provider for the cards. And arguably you still have an inferior product to the comcast pvr.

>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 issue with your missing premium channels probably has to do a mismatch with the sub-streams of the MPEG transport.

For example, make sure there is only one video stream and that its PID is matches the PCR PID, that is if the provider embeds the PCR (program clock reference) in with the video stream. Make sure that the video stream is a type 0x02 (ISO-138181). The other types of video are MPEG-1 - (will not work) and SCTE (another MPEG-2 video standard). I believe the TiVo can decode SCTE (0x80), but have not verified.

Another common problem with the cablecards is no audio on a few channels. This may be attributed to the TiVo 3 or cablecard-ready television's inability to decode the audio type. Unfortunately, the audio codecs used is not always consistent with the content providers. In regards to the TiVo 3, The last I checked (within past 6 months), it cannot decode MPEG-2 audio. Typically, cable companies use AC3 (Dolby Digital) to deliver audio, which is what is defined by the ATSC and used by TiVo and many televisions. Hence, why TiVo does not play audio when audio is MPEG-2 audio. Check with the cablecard-ready television or TiVo manufacturers for a firmware update to add the codecs.

Trending Topics

Webinar: 8 Signs You’re Beyond Cron

Scheduling Crontabs With an Enterprise Scheduler
11am CDT, April 29th

Join Linux Journal and Pat Cameron, Director of Automation Technology at HelpSystems, as they discuss the eight primary advantages of moving beyond cron job scheduling. In this webinar, you’ll learn about integrating cron with an enterprise scheduler.