Jack Jansen | f0384fd | 1993-02-05 14:56:55 +0000 | [diff] [blame^] | 1 | CMIF video tools |
| 2 | |
| 3 | This document gives a quick introduction to some of the tools useful |
| 4 | for recording, editing and playing back video data in CMIF video |
| 5 | format. All the tools mentioned currently live in /ufs/guido/bin/sgi. |
| 6 | A description of the CMIF video file format can be found in |
| 7 | /ufs/jack/cmif-film.ms. |
| 8 | |
| 9 | Recording video |
| 10 | |
| 11 | There are two tools to record video, Vrec and and Vrecb. Vrec does |
| 12 | continuous capture, but can capture at most 15 frames per second. |
| 13 | Vrecb uses burst capture, enabling it to capture all frames. It |
| 14 | captures to main memory, however, so it cannot handle long video |
| 15 | fragments. The following options are common to both programs: |
| 16 | |
| 17 | -r rate Capture one out of 'rate' frames. Default (and |
| 18 | minimum) is 1 for Vrecb, 2 for Vrec. There are some |
| 19 | caveats for recording PAL, see below. |
| 20 | -w width Set initial window width (and height, implicitly). |
| 21 | -g bits Create greyscale film in stead of 8-bit dithered color |
| 22 | film. Allowable values for 'bits' are 2, 4 or 8. |
| 23 | -m Create monochrome dithered film. These look horrible. |
| 24 | -M threshold Create monochrome thresholded film with specified |
| 25 | threshold (in range 0..255). |
| 26 | -G Create 2-bit dithered greyscale film. |
| 27 | -f Capture fields in stead of frames. The film is created |
| 28 | in such a way that the picture will be suitably |
| 29 | enlarged on playback, so aspect ratio, etc. are |
| 30 | maintained. |
| 31 | -d Drop fields if they would cause data from two video |
| 32 | fields to be combined. See the section on PAL for more |
| 33 | details. |
| 34 | |
| 35 | Options for Vrec: |
| 36 | -a Record audio as well. You will have to twiddle audio |
| 37 | and video later if you want lipsync playback. |
| 38 | -q queuesize Set size of the video board circular buffer. A little |
| 39 | experimentation with this may lead to more video being |
| 40 | captured, but not always. |
| 41 | -r rate Set video rate. A rate of 2 tries to capture every |
| 42 | second frame, etc. |
| 43 | -P frames Preallocate diskspace for 'frames' images. This may |
| 44 | enable you to capture more frames. |
| 45 | |
| 46 | Options for Vrecb: |
| 47 | -n number Capture 'number' frames. Default is 60 (2 seconds). |
| 48 | |
| 49 | Both programs accept a filename to store the video on (default |
| 50 | film.video) and Vrec also accepts an audio file name (default |
| 51 | film.aiff). When you want to record you press the left mouse button. |
| 52 | Vrec stops recording when you release the mouse button and Vrecb stops |
| 53 | after the predetermined number of frames have been recorded. During |
| 54 | recording the picture may look funny, but do not let this worry you, |
| 55 | the film will be ok. |
| 56 | |
| 57 | After recording and saving, Vrec will print the deltas of the field |
| 58 | numbers recorded. A list of '4 4 4 4'... means that all possible |
| 59 | frames (one out of two) have been recorded. Vrecb will tell you how |
| 60 | many duplicate fields have been skipped. See below on PAL useage |
| 61 | again. |
| 62 | |
| 63 | PAL caveats |
| 64 | |
| 65 | The IndigoVideo board converts the incoming video signal to the 60Hz |
| 66 | (59.something, actually) display rate. All further operations, |
| 67 | including capture, are done with respect to display rate. This is |
| 68 | especially bothersome in the case of PAL video, since it means one out |
| 69 | of 5 frames will be duplicated. Together with the fact that, in |
| 70 | continuous capture, you can only capture every second frame this leads |
| 71 | to strange and wondrous effects. The frame numbers returned by the |
| 72 | video board (and displayed by Vrec) are display frame numbers, and so |
| 73 | bear only a very complicated (and probably non-deterministic) relation |
| 74 | to PAL frame numbers. For recording simple videos this is probably no |
| 75 | problem. You can use Vrec and try using -d to see which gives the best |
| 76 | result. On the other hand, if you need every frame and no duplicates |
| 77 | either you have to use Vrecb and supply the -d and -f option. This |
| 78 | will give you exactly the fields as they appeared on the PAL tape. |
| 79 | |
| 80 | Video playback |
| 81 | |
| 82 | The easiest way to play back a video is to use Vplay. Calling it with |
| 83 | an argument of -? will make it list all its options. A few options may |
| 84 | need a bit of explanation: |
| 85 | -M magnify Magnify the images by the given factor. This still |
| 86 | takes any magnification specified in the film (if it |
| 87 | is a field film, for instance) in account. |
| 88 | -w width and |
| 89 | -h height Normally the window will be the correct size for the |
| 90 | film. You can set height and width, though, if you |
| 91 | want the window to be bigger. This is especially |
| 92 | useful if you want to record the film back to |
| 93 | videotape, since you can playback in a window that is |
| 94 | bigger than PAL size with a black background and you |
| 95 | will have no distracting window-manager thingies on |
| 96 | your videotape. |
| 97 | |
| 98 | Video Editing |
| 99 | |
| 100 | Vedit is a (very simple) video editor that allows you to select images |
| 101 | from the input movie and copy them to an output movie. Both input and |
| 102 | output films have a modest buffer that you can move around in. |
| 103 | |
| 104 | Vaddcache takes a movie and adds a frame location cache to it. This |
| 105 | will make some other programs run faster. |
| 106 | |
| 107 | rgb2video converts a set of SGI .rgb files to a movie. |
| 108 | |
| 109 | There are a few programs that can do image format conversion on movies |
| 110 | (i.e. convert an 8-bit dithered RGB movie to a greyscale movie), but |
| 111 | nothing very complete yet. Look at Vcopy.py for more information. |