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.