cpython/Demo/sgi/video/video.doc

110 lines
4.8 KiB
Plaintext
Executable File

CMIF video tools
This document gives a quick introduction to some of the tools useful
for recording, editing and playing back video data in CMIF video
format. All the tools mentioned currently live in /ufs/guido/bin/sgi.
A description of the CMIF video file format can be found in
/ufs/jack/cmif-film.ms.
Recording video
There are two tools to record video, Vrec and and Vrecb. Vrec does
continuous capture, but can capture at most 15 frames per second.
Vrecb uses burst capture, enabling it to capture all frames. It
captures to main memory, however, so it cannot handle long video
fragments. The following options are common to both programs:
-r rate Capture one out of 'rate' frames. Default (and
minimum) is 1 for Vrecb, 2 for Vrec. There are some
caveats for recording PAL, see below.
-w width Set initial window width (and height, implicitly).
-g bits Create greyscale film in stead of 8-bit dithered color
film. Allowable values for 'bits' are 2, 4 or 8.
-m Create monochrome dithered film. These look horrible.
-M threshold Create monochrome thresholded film with specified
threshold (in range 0..255).
-G Create 2-bit dithered greyscale film.
-f Capture fields in stead of frames. The film is created
in such a way that the picture will be suitably
enlarged on playback, so aspect ratio, etc. are
maintained.
-d Drop fields if they would cause data from two video
fields to be combined. See the section on PAL for more
details.
Options for Vrec:
-a Record audio as well. You will have to twiddle audio
and video later if you want lipsync playback.
-q queuesize Set size of the video board circular buffer. A little
experimentation with this may lead to more video being
captured, but not always.
-P frames Preallocate diskspace for 'frames' images. This may
enable you to capture more frames.
Options for Vrecb:
-n number Capture 'number' frames. Default is 60 (2 seconds).
Both programs accept a filename to store the video on (default
film.video) and Vrec also accepts an audio file name (default
film.aiff). When you want to record you press the left mouse button.
Vrec stops recording when you release the mouse button and Vrecb stops
after the predetermined number of frames have been recorded. During
recording the picture may look funny, but do not let this worry you,
the film will be ok.
After recording and saving, Vrec will print the deltas of the field
numbers recorded. A list of '4 4 4 4'... means that all possible
frames (one out of two) have been recorded. Vrecb will tell you how
many duplicate fields have been skipped. See below on PAL useage
again.
PAL caveats
The IndigoVideo board converts the incoming video signal to the 60Hz
(59.something, actually) display rate. All further operations,
including capture, are done with respect to display rate. This is
especially bothersome in the case of PAL video, since it means one out
of 5 frames will be duplicated. Together with the fact that, in
continuous capture, you can only capture every second frame this leads
to strange and wondrous effects. The frame numbers returned by the
video board (and displayed by Vrec) are display frame numbers, and so
bear only a very complicated (and probably non-deterministic) relation
to PAL frame numbers. For recording simple videos this is probably no
problem. You can use Vrec and try using -d to see which gives the best
result. On the other hand, if you need every frame and no duplicates
either you have to use Vrecb and supply the -d and -f option. This
will give you exactly the fields as they appeared on the PAL tape.
Video playback
The easiest way to play back a video is to use Vplay. Calling it with
an argument of -? will make it list all its options. A few options may
need a bit of explanation:
-M magnify Magnify the images by the given factor. This still
takes any magnification specified in the film (if it
is a field film, for instance) in account.
-w width and
-h height Normally the window will be the correct size for the
film. You can set height and width, though, if you
want the window to be bigger. This is especially
useful if you want to record the film back to
videotape, since you can playback in a window that is
bigger than PAL size with a black background and you
will have no distracting window-manager thingies on
your videotape.
Video Editing
Vedit is a (very simple) video editor that allows you to select images
from the input movie and copy them to an output movie. Both input and
output films have a modest buffer that you can move around in.
Vaddcache takes a movie and adds a frame location cache to it. This
will make some other programs run faster.
rgb2video converts a set of SGI .rgb files to a movie.
There are a few programs that can do image format conversion on movies
(i.e. convert an 8-bit dithered RGB movie to a greyscale movie), but
nothing very complete yet. Look at Vcopy.py for more information.