Accessible tv tuners from the cli?

G.E. GlennErvin at
Thu Oct 27 22:17:20 EDT 2011

I have an ATI all-in-wonder card, and I may have noticed a Linux utility for 
it, I have only used it in windows with JFW.
----- Original Message ----- 
From: <pigiron at>
To: <speakup at>
Sent: Wednesday, October 26, 2011 11:34 PM
Subject: Re: Accessible tv tuners from the cli?

On Wed, 26 Oct 2011 17:19:59 -0600 "Littlefield, Tyler" 
<tyler at>

> Hello all:
> I was curious if any of you have tried using a TV tuner from the cli?
> How accessible or otherwise was it? I'm building a computer hopefully
> soon, and would like to throw in a tuner, but I don't know how it'd work
> with speakup or if there's an accessible program to interface with them.

While I'm sighted, I run everything for my TV tuner from the command line
except for post editing any recorded shows. But there's even some simple CLI
video editors. I've never used them, so I can't speak to those.

Getting everything set up correctly is definitely a head scratcher though. 
set aside gobs of time and get your zen in shape in order to keep your blood
pressure in check.

It all starts with getting a TV tuner that Linux likes. I strongly suggest 
you buy one that the Video4Linux, otherwise known as "V4L", Linux kernel
subsystem supports. A good place to start is this web site:

Like most Linux documentation, it's only slightly out of date; chuckle.

While you may find drivers and applications for non-V4L supported tuners on 
internet, you'll probably find that they are old, or not maintained, or 
All the current action is on the V4L code, and it's been that way for awhile

You did not say which country you live in, nor which types of signals you'll 
trying to watch or capture. That will make big a difference for some of the
following information, along with which TV tuner you buy.

One of the first puzzlers you'll encounter is all the strange new buzz 
One is the anagram "DVB". I means Digital Video Broadcast, which 
it from the old analog broadcasts and tuners. Then you'll hit things like 
words "DVB-C", "DVB-S", and "DVB-T". It took me awhile to figure out that 
letter "C" means cable. The letter "S" means satellite. And the letter "T" 
terrestrial; which is the over the air signal. You'll sometimes see that
shortened to the anagram "OTA". Confused yet?

After you've slogged through all that, and figured out which tuner to buy, 
install it and verify that Linux likes it by checking the output of the 
command. You should also now have files and directories located under
the /dev/dvb directory.

If you get this far, you next need to create what's called a "channels" 
This is simply a strangely formatted text file that contains all the TV 
that the tuner finds in your local area. It's analogous to scanning the
available channels on one of those new fangled digital televisions.

There are multiple command line programs that will create the "channels" 
Which one you use partially depends on what type of signal you want to 
such as cable, satellite, or terrestrial; along with which country you live 
Drill down from this web page for more info:

After you've successfully scanned the TV channels for your area and created 
"channels" file, you'll find that you probably need copy that sucker into
multiple directories. The mplayer program expects to find it in one place,
while the xine player expects it in another, and so on. But once you get in
place, you can now tell the player which TV channel to play by using it's 
For example, if you want to play a station called "WCBS" using the mplayer
application you could enter the following:

mplayer tv://WCBS

But, how do you know what station name to use??? The answer is to look 
that strangely formatted "channels" text file you created. Each line is a
different channel, and the first field is the TV station name. Each field
within a line is separated by the colon character. It's safe to edit the
channel file and change those TV station names to something you like. But, 
not change any other field on a line.

Note that mplayer normally spews a ton of output to the terminal, you may
want to try the "-really-quiet" parameter to keep the output from speakup to
a minimum, or turn it off.

If you wish to capture a show, just one simple way to do it from the command
line is to bring up a terminal and use one of the "zap" programs provided in
the "dvb-apps" package to tune your tuner to the particular TV channel. 
"zap" program you use depends on the type of TV signal. See the following 
more info:

Next, open another terminal and simply redirect the output of your tuner 
to a file. For example, something like the following might work if you only
have one TV tuner installed:

cat /dev/dvb/adapter0/dvr0 > testvideo.mpg

While that documentation states that the "zap" programs can also be used to
record a program, the "azap" program that I use doesn't support it.

If you attempt to capture the new ATSC over the air digital HDTV channels 
found in the USA, expect to eat up gigabytes of drive space. You'll find 
the sucker is in the MPEG Transport Stream format, and unless you live next
door to the transmitter, it will also contain errors. While mplayer and VLC
among others, will play the file, if you want to convert it into a DVD 
you'll need to fix all those errors. I'll leave those numerous painful hints
for some other time.

I found a really obscure command line program from a bloke in Australia that
will set up a timed recording, but I had to modify the hell out his C 
program. For one thing, he has the channels hard coded; ouch! But here's a 
if you're looking for even further frustrations:

You simply tell it which channel to record, the output file name, what time 
start recording, and when to stop. Kind of like a DVR.

I could go on forever, but I've bored you enough. Hope this helps, and good

Speakup mailing list
Speakup at 

More information about the Speakup mailing list