Skip to comments.The PC-Based Tivo Emulator
Posted on 01/13/2003 8:00:31 PM PST by gd124
There's Linux code to turn an old PC into a personal video recorder. Some people don't like that idea at all.
Take one digital video capture card, a big cheap hard disk, a home-brew infrared receiver, and a seven-year-old PC out of your nearest closet or dumpster. Add some free software andvoila!you have a personal video recorder, your own homemade Tivo. As with Tivo, watch what you want, when you want. Thumb your nose at the head of Turner Broadcasting or whoever else is angry that you have broken your "contract" to sit through commercials and are "stealing" programming if you don't. Know that you have built this insidious entertainment appliance yourself.
Which you can do if you're literate enough to run a few basic Web searches, do not run for cover at the mention of Linux, and know which is the business end of a Phillips-head screwdriver. Of course, you could buy a similar personal video recorder (PVR) unit from Sony or Philips or Sonic Blue. Or wait for your cable company to install one. Or buy software from Snapstream or Showshifter or one of the other companies that's sprung up to let you convert your new $1,000 PC into a good imitation of a $200 VCR. But where would be the fun in that?
Klaus Schmidinger runs a small software company about an hour from Munich. He and 90-odd of his closest friends on the Net have spent thousands of hours"Do you ever sleep?" asks one e-mail correspondentdeveloping open-source software, and a little bit of hardware, to let any Linux box record and play back digital TV signals (for an overview and the download, go to www.cadsoft.de/vdr).
You can do all the things you can do with the commercial versions, such as scrolling through lists of programs and selecting the ones you want. Plus, you can make new copies of recorded programs with the commercials edited out (or, for that matter, create video files with nothing but commercials). And if there's a feature you want that's not there, you can fire up a text editor, rewrite the code, and fix it.
For now, whatever you do with your Linux recorder, with the exception of rebroadcasting or selling digitized shows, is still mostly legal. That may change (in the United States at least) if entertainment industry lobbyists get their way: On tap in the current Congress, for example, is one bill that would require any digital device capable of storing copyrighted material to abide by whatever restrictions publishers decide to impose on how the material can be viewed, played, or copied. Another would permit registered copyright owners to hack into any computer they believe might be involved in illicit reproduction of their property, to prevent that computer from sharing the owners' copyrighted material. The move to increase the power of content publishers has raised the ire of the Electronic Frontier Foundation (www.eff.org), a nonprofit organization that battles restrictions to Internet information flow.
When he started the project back in late 1999, none of these issues really occupied Schmidinger's attention. The idea of competing with the newly introduced Tivo or ReplayTV machines wasn't important back then either, he says, although now he's glad to have built a PVR that can't be silently "up-graded" by the manufacturer to record shows you would never ask for or to record every button you press, for evidence in a lawsuit.
Schmidinger was working on a completely different hobby projectbuilding a personal full-motion flight simulatorwhen he read in a German computer magazine that a couple of enterprising brothers, Marcus and Ralph Metzler, had written a Linux driver for a digital video card.
Five months later he had a prototype that could record video and play it back. Forty versions and two years after that, the first "official" version was done. Download it, compile it, install it on your Linux box, and the catchily named "vdr" program will help you build a list of programs to recordwith priority rankings in case more than one show you want is scheduled at one time and you don't have multiple video cards. Then whatever you can fit on your hard drive at the rate of 2GB per hour of video is yours to do with as you please. (VDR is the acronym for video disk recorder, which is what Europeans call our personal video recorders. Transatlantic incompatibility lives on.)
The VDR takes input from a regular PC keyboard. You can even control it from anywhere on the Internet, although Schmidinger's manual advises caution and a short list of authorized hosts to log in from, else your hacking buddies can order you up a full day's supply of Fishin' with Bob Dillow while you're on the road. You can also install $20 or so worth of infrared receiving gear and then use a remote like any normal television viewer.
Don't worry about losing geek cred here: In addition to its usual functions, the remote will be able to call up a customizable Command menu that executes any program or script you have the temerity to put in its configuration file. Indeed, Schmidinger built his own remote-control receiver, complete with LED readout to display the current channel, before learning that other hackers (Linux Infrared Remote Control, at lirc.org) had come up with a better solution. "But then again I learned a few things by doing this myself," he says with a rueful grin.
There are still some rough spots in the vdr software to be worked out. For example, the apostrophe in Dawson's Creek stuns the Unix parsing algorithm that sets up files for programs to be recorded, and you can't easily record multiple shows at the same time during bad weather because a signal dropout on one channel can cause the software to reset all of its feeds. (Reading e-mail discussions at linuxtv.org gives you new respect for the programmers of commercial PVRs.)
Other glitches aren't the fault of Schmidinger's team. Most broadcasters, he says, have yet to master the arcane task of starting and ending shows at their scheduled times, so the software has to build in a few minutes' margin of error on either side. And although there's an international standard for transmitting the electronic program guide (EPG) data that tells your computer which programs will air when (plus what they're about and who stars in them), getting that right eludes broadcasters too. Worse yet, it's almost impossible to buy a computer case that looks even remotely attractive in your living room.
For those who have found that grail, or have resigned themselves to kicking back in a living room that looks like the back office of a defunct dotcom, a machine that is running vdr can become a complete multimedia hubmuch like the ones you'll be able to get soon from about half a dozen competing manufacturers.
Schmidinger is revamping the structure of his code to accept plug-in modules that will graft on whatever functions hackers want to write without bloating the basic system. Already you can find open-source patches to modify vdr for playing DVDs and MP3 files.
As all this code continues to evolve, you'll be able to feel the warm glow of firing up hardware components made by high-tech giants to play video and music produced and distributed by megaconglomeratesbut with the software, at least, firmly under your design and control.
THE PVR STARTER KIT Klaus Schmidinger's recipe for getting going
1 PC with a large hard drive (at least 10GB) running Linux (kernel 2.4.10 or higher)
1 VDR program from www.cadsoft.de/vdr
1 Digital Video Broadcasting driver (from either linuxtv.org or www.cadsoft.de/vdr)
1 (At least) "full featured" DVB card (either DVB-S, DVB-C, Or DVB-T for satellite, cable, or terrestrial reception, respectively)
1. Install the DVB card in your PC.
2. Download the driver and VDR software and compile the vdr source code.
3. Load the driver and run vdr (as explained in the Install files that come with the software).
4. Connect a TV set to the A/V output of the DVB card. You may have to adjust the channel settings (in VDR/channels.conf) to your local broadcasters.
With this basic setup, you control the VDR via the PC's keyboard. For a more practical setup, you'll need to get yourself a remote control and install the LIRC hardware and software (see lirc.org).
Your information is interesting though - I've got an old (1.2G processor) box just sitting around doing nothing, and a 160G HD still in the box that I was going to slap into my main home system. Hmmm ...
A 1.2G processor is OLD?!
LOL!....I just can't keep up.
I use SnapStream to automatically record 30 hours per week of satellite broadcast curriculum (see Bob Jones University HomeSAT)for my homeschooled children. To keep the 80GB hard drive open for new classes, I archive older classes off to DVD+R. While the system is running or recording the computer is still usable for web browsing or for watching the recorded classes. My wireless network serves all of the recorded video to any computer in the house, even my wireless 802.11b-equipped Toshiba e740 PocketPC. And all of that runs on our old Dell Dimension 450mhz PIII system.
I'm buying a second TVTuner card for the other Dell Dimension near the satellite receiver so that we can record entertainment-type programs from DishTV in a Tivo-type manner.
We don't have to watch all of our TV shows on a computer screen either. One of our computers has a GeForce 2 MX card (I know, not the greatest) that has SVideo out. It uses something called TwinView to make the TV screen a second monitor. Drag the mouse to the left and it appears on the TV screen. A simple tweak of the preferences and any video played on the main monitor (even that played in a postage stamp-sized windows) is played full-screen on the TV screen in excellent quality and in stereo.
The only thing that cost a lot of money was the DVD burner. The TV tuner was less than $50 new, and I bought my second one for less that $20 on eBay. The software is about $70. And I didn't have to dedicate a computer to do it as it can perform other tasks and stuff.
Sorry, didn't mean to mislead. It IS old, kind of. My old system quit a couple of months ago and I installed a new motherboard and the 1.2G processor. Then Santa left a 3G Pentium 4 under my tree this Christmas, so the "old" system kinda got relegated to the spare bedroom to collect dust until I could figure out what to do with it (overclock it, make it into a Linux box, turn it into modern art, whatever).
Here is the feature list from MythTV.org:
I'm running a P90 with Win95, and a TV board. Runs fine for testing, playback, and piping video to my other machine that does editing and burning DVD's, a P4 cpu 2.4GHz with a Hauppage PVR board (cost $99). I will never go back to using a VHS tape VCR. I pull program schedules off the Internet, set the automated scheduler to record my shows, and edit out commercials for keepers or zip thru the commercials while playing back content at accelerated speed (can still understand the audio). I can't understand people buying Tivo machines for hundreds of dollars. A PC and a cheap PVR board will do the job.