A console program for watching tv
fbtv [ options ] [ station name ]
fbtv is a program for watching TV with your linux box. It runs on top of a graphic framebuffer device (/dev/fb0). You'll need a new 2.1.x kernel to play with this. fbtv shares the config file ($HOME/.xawtv) with the xawtv application. Check the xawtv(1) manpage for details about the config file format.
-o base
set basestring for the snapshot output files. The filename will be "base-timestamp-nr.ext".
-v
Be verbose.
-c device
video4linux device (default is /dev/video0).
-D driver
video4linux driver (default is "libv4l").
-d device
framebuffer device (default is $FRAMEBUFFER; /dev/fb0 if unset)
-g
grayscaled display (works for 256 color mode only)
-s widthxheight
display the TV picture in width x height size in the upper right corner.
-f font
font for text. Default is to look for lat1-16.psf in /usr/lib/kbd/consolefonts and /usr/share/consolefonts. If you have a local X11 font server running (or the FONTSERVER environment variable set to some working server), you can also give X11 font specs here.
-m mode
video mode for TV. fbtv will look up the mode in /etc/fb.modes.
-j joydev
joystick device to use for controlling fbtv.
-k
keep capture on when switching consoles. Might be useful together with -s switch, you have a video picture while working on another console. This is more or less a dirty hack. Works only if all your consoles have the same video mode and fbcon does not use panning to speed up scrolling. For a multiheaded setup this is useful too.
-q
quiet mode. Doesn't reserve space for the status line at the top, doesn't display the status messages and clock. You can toggle this at runtime too ('F').
-M
EXPERIMENTAL: Turn on backend scaler mode (write yuv to offscreen memory and let the gfx board scale up the video). Supported hardware: Matrox G200/G400 (with matroxfb) and ATI Mach64 VT/GT (with atyfb, 16bpp only). You'll need at least bttv-0.7.16 or kernel 2.3.50.
fbtv is supported to work much like xawtv from user's point of view. You might have noticed that xawtv has a lot of keyboard shortcuts. They work in fbtv too (if it useful). Here is the list:
G Grab picture (full size, ppm) J Grab picture (full size, jpeg) F Fullscreen. Toggle quiet mode (see above). up/down tune up/down one channel left/right fine tuning pgup/pgdown station up/down ESC,Q Quit X Quit, but leave sound on. +/- Volume up/down Enter mute
The channel hotkeys defined in $HOME/.xawtv are supported too, with one exception: modifier keys (something like "key = Ctrl+F1") do not work.
Some hints from Dag Bakke <[email protected]>:
The BT8xx cards can produce images up to 768x576 pixels. In order to have fbtv make use of your entire monitor-size and get maximum image quality, you need to create a 768x576 pixels framebufferconsole. This can be accomplished with the fbset(1) utility, which is available at various locations. See: http://www.cs.kuleuven.ac.be/~geert/bin/
Or, you can let fbtv handle the videomode changes with the -m switch. This requires that you have a small database with the various videomodes available. The file containing the videomodes is normally named /etc/fb.modes. For example, the following entry produces a 768x576x32bpp mode, with 75Hz refresh on a Matrox G200.
mode "tv" # D: 49.188 MHz, H: 46.580 kHz, V: 75.008 Hz geometry 768 576 768 576 32 timings 20330 128 32 32 8 128 5 endmode
The command "fbtv -q -mtv" thus gives you crisp clear (well, as good as the received signal anyway) tv on your entire screen. Alias this command to 'tv', and you're set.
NB! Please note that your monitor may or may not be able to handle such a "custom" resolution. And that misuse of the aforementioned fbset utility can toast your monitor. It is a lot easier to pull smoke out of electronic components, than to put it back in.
A database of the standard VESA-modes can be downloaded from: ftp://platan.vc.cvut.cz/pub/linux/matrox-latest/fb.modes.vesa60.gz
Gerd Knorr <[email protected]>
Copyright (C) 1997,98 Gerd Knorr <[email protected]>
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.