xvidcap - Xt based video capturing program for X window
SYNOPSIS
xvidcap [-v] [--fps <FPS>] [--file <file>] [--cap_size
<WxH>] [--time <seconds>] [--frames <frames>] [--compress
<level>] [--source <x11|shm|v4l>] [--start_no <start_num
ber>] [--use_clone] [--expand_to_24bit] [--quality <qual
ity>]
XVidCap is a small X11 program to capture continuous a
certain area of the screen to files. These files could be
used as input for e.g. a MPEG encoder or to produce ani
mated GIF or whatever you want.
The colormap which the program uses depends on the way you
select an area to capture. The default colormap is the
colormap of the root window. If you select a window or
just parts of a window with the select button the colormap
of this window is used.
Nevertheless not all bit depths and visuals are supported,
that means you may not get the correct colors :). If you
have problems please write me a mail about it, so I can
try to fix it.
MENU and BUTTONS
File menu: This menu contains entries for quiting, help
and options. If you quit the program all open files will
be closed.
Make Video menu entry: Pressing the 'mkVideo' menu entry
will start a program given in the 'mkVideoCommand'
resource. It could be used to start e.g. a MPEG encoder
or simular - example scripts for the Berkeley
'mpeg2encode' program and for the ImageMagick's 'convert'
written in Perl are included in the distribution of xvid
cap. The following parameters are given at startup to the
mkvideo program:
- %s: file name of the frames, e.g. 'cap-%04d.xwd'
- %d: number of the first saved frame
- %d: number of the last saved frame
- %d: width of the frame
- %d: height of the frame
- %f: frames per second
- %d: time per frame (ms, TPF = 1000 / FPS)
You can omit parameters from the right to the left but not
in the other direction. This will work 'ppm2mpeg %s %d %d'
but this will not 'ppm2mpeg %d %d %f'.
Move button: The toggle buttons controls if the capture
frame will be moved with the control panel or not.
nal picture number to the start number, default is '0'.
The file name which is displayed in the label is allways
the file name of the next frame which will be saved. While
capturing the label is only updated if there is enough
time to do it.
Stop button: The next button is the 'Stop' button. Press
ing this will stop capturing. The 'Pause' and the 'Stop'
buttons are released.
Pause button: The 'Stop' button you see the 'Pause' but
ton. Activating 'Pause' during capturing will stop until
you untoggle this button. You can also press it before
recording.
Record button: The 'Record' button follows which activates
the capture process. If you pressed the 'Pause' button
before the capturing is no started immediatly.
Step button: With the 'Step' button you can make single
frames per activating while the 'Record' and the 'Pause'
buttons are pressed.
Previous and Next button: Use these buttons to change the
internal picture number. While capturing to an MNG file
you can overwrite previous frames. Just the internal id
will be changed.
Select button: The following button is the 'Select' but
ton. Use this button if you want to change the capture
frame. Just clicking to an application will fitt the frame
to this application window. If you press the mouse down
and move it over your desktp, you cap specify an individ
ual frame everywhere on your desktop.
Animate button: The 'Animate' button will execute an ani
mation program as defined in the X resources and play the
captured frames.
Edit button: The 'Edit' button will execute an image edit
program as defined in the X resouces.
OPTIONS
-v
Runs xvidcap in verbose mode. This gives some setting
informations on startup at standard out. If you get mes
sages like 'missing XX milli secs ..' while capturing it
means that the capturing of one frame takes more time then
the program has according the settings of FPS.
--fps <fps>
This parameter accepts float values. E.g. if you want
very slow capturing you can say '--fps 0.5' to record one
frame every 2 seconds.
--file <file>
File name to use for saving the captured frames. This
string should contain an printf() like formating informa
tion for integers, e.g. --file "out-%02d.xwd" will result
in the following file names for saved frames: out-00.xwd,
out-01.xwd, out02.xwd, .. If you give '.ppm' as suffix
the program saves the frames as PPM (portable pixmap)
files. There is only an experimental support for PNM and
only Direct- and TrueColor/15bpp, 16bpp and 24bpp and
PseudoColor/8bpp seems to work until now. If you give
'.png' as suffix the program saves the frames as PNG
(portable network graphic) files. There is only an experi
mental support for PNG and only Direct- and True
Color/15bpp, 16bpp and 24bpp and PseudoColor/8bpp seems to
work until now. PNG support is only avialable if the pro
gram was compiled with '-DHasZlib -DHasPNG' and was linked
with the z-library and the png-library.
--cap_size <WIDTHxHEIGHT>
Override the default width and height of the capture
frame. Use the 'Select' button to adjust the frame size to
an given window.
--time <seconds>
Time to capture, if 0 it will capture endless. This param
eter is in conflict with '--frames' (see below). You can
only specify 'time' or 'frames'. The program accepts float
values, e.g. '2.5'.
--frames <number of frames>
Stops capturing after number of frames are saved. If this
value is 0 the program loops until you stop it per mouse.
--compress <compression level>
Define the compression level which zlib should use. This
is only available if the program was compiled with '-DHas
Zlib'. If level greater 0, the files are compressed and
automaticly the suffix '.gz' is added to the file names.
The values could be 1,..,9, '0' disables this feature.
Warning: This will slow down your capturing process. Note:
saving frames as QT movie and giving a compress level
greater then 0 produces PNG coded samples.
--source <x11|shm|v4l[:<device>]>
Enable or disable the usage of the X shared memory exten
sion. Only available if compiled with '-DHasSharedMemory'.
For shm or dga support client and server have to run on
the same host. The dga (direct graphics access) seems to
development!
--start_no <start_number>
Defines the start point which should be used for numbering
the files. Default value is '0'.
--use_clone
Use the CLON chunk for MNG files if needed. This will slow
down capturing, but saves bytes if two or more identicaly
images are saved. This is not recommended if you capture a
TV/Video clip, cause there will never be two consecutive
images which have the same CRC32 checksum.
--expand_to_24bit
This will work only for PPM files. It expands 15 and 16bpp
images to 24bpp. It should also work for TrueColor/8bpp
images, but this is still not tested. Use this option if
you want to make input files for the Berkeley MPEG
encoder.
--quality <quality>
A value between 0 and 100 which defines the quality set
ting for the JPEG library. The default value is 75. If the
frames are saved in a QT file and quality is lower then
100 JPEG-compression is used for the QT samples.
X RESOURCES
You can set some default values with the X resources (for
example in your private '.Xdefaults' file). The syntax is
'xvidcap*<resource>: <value>'.
fps
Float, see OPTIONS
file
String, see OPTIONS
capWidth and capHeight
Integers, see the --cap_size option
time
Float, see OPTIONS
frames
Integer, see OPTIONS
compress
Integer, see OPTIONS
startNo
Integer, see OPTIONS
String, from where to read the data: x11, shm, dga, v4l;
see also OPTIONS
quality
Integer, see OPTIONS
animateCommand
String, animation command which should be executed if the
'Animation' button is pressed. The default value is 'ani
mate "%s" &'. The '%s' is substituted by a file pattern,
e.g. if the file name is 'cap-%03d.xwd' it is called with
'cap-???.xwd'. You can also add a '%d', but this must be
behind(!) the '%s'. The '%d' will be filled with the sec
onds per frame in milli seconds.
editCommand
String, edit command, which should be executed if the
'Edit' button is pressed. The default value is 'display
"%s" %'. If you don't have the 'display' program from the
ImageMagick package you can also use 'xv' or 'gimp' or
what ever you want.
mkVideoCommand
String, see 'mkVideo' button, default: 'ppm2mpeg %s %d %d
%d %d %f %d &'.
helpCommand
String, help command which should be executed if the
'Help' button is pressed. The default value is 'MAN
PATH=/usr/local/X11/man rxvt -e man xvidcap &'.
AUTHOR
Rasca Gmelch
http://home.pages.de/~rasca/
XVidCap is published under the GNU General Public License.