Cooking with Linux - Watching the Community Network

Use your Linux system to watch TV, record home movies and listen to FM radio.

Yes, François, that is me—20 years ago, but still me. What are you smiling about? I don't look quite that strange. Yes, I've been told that I look like I am doing a Carl Sagan impression, but that was simply the way I spoke, mon ami. Stop smirking. Our guests will be here any moment and with this issue's feature on community networks, I am going to need you to take good care of them.

Ah, but they are already here. Welcome, mes amis! François—to the wine cellar. The 2000 Cabernet Sauvignon Stellenbosch from South Africa is drinking quite nicely right now. Please fetch it, tout de suite. Please, everyone, sit and make yourselves comfortable.

I was showing François a tape from a documentary I did a number of years ago with some friends. I used to volunteer at the community cable station where I operated the cameras and worked the video board from time to time. It was a great deal of fun. One summer, with the equipment from the station, my friends and I produced a documentary that I wrote and narrated. For years, I've had the tape floating around, and now, using this issue's feature as a springboard, I thought it might be nice to convert it to a more permanent, digital format.

Playing video from an analog source can be done with the use of a TV tuner card. The card I used is a Hauppauge WinTV card, based on the btv878 chipset. You can ignore the card's name safely, mes amis. It works quite well with any recent Linux kernel. The card I bought is well supported, and a driver for it was loaded automatically on my Mandrake 9.1 test system (it also worked beautifully on another Debian system). The Linux bttv kernel module, or driver, supports a large number of TV tuner cards. A quick look at the CARDLIST file in the kernel documentation (/usr/src/linux/Documentation/video4linux/bttv/) will give you an idea.

Welcome back, François. Please pour for our guests...and quit smirking, it isn't that funny. You see, mes amis, my faithful waiter is amused by the sight of myself all those years ago. Ignore him and enjoy the wine while I show you how this works.

Watching television is obviously the point, but these TV tuner cards sometimes have FM radio receivers as well. Watching television while you are trying to work might qualify as distracting. Listening to the radio isn't as problematic. An FM radio program that caught my eye is Gerd Knorr's frightfully simple radio program ( This is an ncurses-based program that comes as part of the xawtv source package. I make a point of specifying source here, because the package, called radio, is separate from xawtv when you work with RPMs.

Figure 1. radio: Simple and ncurses-Based

From the command line, type radio -s. With the -s option, the program displays the frequencies it visits while looking for stations, then starts unmuted. If you use the -i option instead, the program writes a .radio file in your home directory with the stations and frequencies it identified. Then, you can go back and edit this text file to give more interesting names to the stations. You also can start the radio on a favorite station by passing the -f option (radio -f 99.10).

There you are, a local community network broadcast on that most venerable of medium, radio. I should point out that I did run into some interesting problems here. My Hauppauge card did not play sound directly. It was possible to plug my speakers right into the card's audio out port, but I wanted the control in the system. To do this, I had to use the accompanying cable to connect the tuner card to my system's sound card. I then used alsamixer to raise the levels of my line-in and all was well. Depending on your TV tuner card, you may have to do the same. This will be particularly important when we start talking about recording.

Another radio project you should have a look at is GQradio, created by John Ellis ( GQradio features a slick graphical interface, autotune, station presets and more. The site offers Red Hat RPMs as well as source. Compiling the program requires the GTK+ and gtk-pixbuf libraries. Beyond that, it's the classic extract and build five-step:

tar -xzvf gqradio-0.99.0.tar.gz
cd gqradio-0.99.0
su -c "make install"

If you run the gqradio program from the command line, you'll notice something interesting the first time:

$ gqradio
Creating dir:/home/mgagne/.gqradio
Creating dir:/home/mgagne/.gqradio/skins