summaryrefslogtreecommitdiffstats
path: root/Demo/sgi/video/video.doc
blob: 982c008f7e23617307a9fbf5ed2bc8dc39b4a48c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
	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.