Guido van Rossum | b2e8228 | 1992-08-18 16:01:19 +0000 | [diff] [blame] | 1 | This directory contains Python and C code for video stuff. |
Guido van Rossum | e4bddea | 1991-10-30 11:52:48 +0000 | [diff] [blame] | 2 | |
Guido van Rossum | b2e8228 | 1992-08-18 16:01:19 +0000 | [diff] [blame] | 3 | History: |
| 4 | |
| 5 | We started this in October 1991, when we had a large framegrabber |
| 6 | board on loan from SGI for a few weeks. |
| 7 | |
| 8 | Later, when we started processing the recorded film fragments, the |
| 9 | "CMIF video format" was revised several times, and we finally created |
| 10 | an object-oriented interface for reading and writing various |
| 11 | incarnations of these files, called VFile. |
| 12 | |
| 13 | When we finally got our own Indigo entry-level video board (in June |
| 14 | 1992) and a version of the Irix video library that supported capturing |
| 15 | PAL format (August 1992) Sjoerd added an interface to the video |
| 16 | library to Python (sv) and Guido wrote makemovie.py (based upon a |
| 17 | still frame grabber by Sjoerd) to record a movie using it. |
| 18 | |
| 19 | --Guido, Jack and Sjoerd |
Guido van Rossum | e4bddea | 1991-10-30 11:52:48 +0000 | [diff] [blame] | 20 | |
Guido van Rossum | 96059b3 | 1991-11-04 14:31:31 +0000 | [diff] [blame] | 21 | |
Guido van Rossum | e4bddea | 1991-10-30 11:52:48 +0000 | [diff] [blame] | 22 | cam.py network real-time tv broadcast; see tv.py |
| 23 | usage: cam [packfactor [host]] |
| 24 | specifying 'all' for host broadcasts |
| 25 | |
| 26 | camcorder.py record video movies or make snapshots (in movie format) |
Guido van Rossum | 96059b3 | 1991-11-04 14:31:31 +0000 | [diff] [blame] | 27 | usage: camcorder [-c] [-a audiohost [-s]] [-p pf] [moviefile] |
| 28 | -c color (equivalent to -p 0) |
Guido van Rossum | e4bddea | 1991-10-30 11:52:48 +0000 | [diff] [blame] | 29 | -a audiohost syncaudio is running on audiohost |
| 30 | -s start syncaudio (on audiohost) |
Guido van Rossum | 96059b3 | 1991-11-04 14:31:31 +0000 | [diff] [blame] | 31 | -p packfactor packfactor (default 2; 0 records color) |
Guido van Rossum | e4bddea | 1991-10-30 11:52:48 +0000 | [diff] [blame] | 32 | moviefile (default film.video) |
| 33 | keyboard commands: |
| 34 | s stop grabbing (single step if already stopped) |
| 35 | c continuous grabbing |
| 36 | r start recording |
| 37 | p pause recording (record single frame if paused) |
| 38 | ESC quit |
| 39 | |
Guido van Rossum | 7385d58 | 1991-11-22 14:03:57 +0000 | [diff] [blame] | 40 | colorsys.py color conversions, used by video |
| 41 | |
Guido van Rossum | b2e8228 | 1992-08-18 16:01:19 +0000 | [diff] [blame] | 42 | makemovie.py record video movies using the Indigo video library and |
| 43 | board |
| 44 | |
Guido van Rossum | e4bddea | 1991-10-30 11:52:48 +0000 | [diff] [blame] | 45 | statit.py various statistics operations on movie files |
| 46 | |
| 47 | syncaudio.py record audio synchronized with camcorder -a |
| 48 | usage: syncaudio videohost soundfile |
Guido van Rossum | 96059b3 | 1991-11-04 14:31:31 +0000 | [diff] [blame] | 49 | soundfile format: 16 bits/sample, 16000 samples/sec, 1 channel |
| 50 | (actually, you'd better set the sampling rate to 16000 |
| 51 | with the audio panel) |
Guido van Rossum | e4bddea | 1991-10-30 11:52:48 +0000 | [diff] [blame] | 52 | |
| 53 | tv.py receiver for transmissions from cam.py |
| 54 | |
Guido van Rossum | 7caf611 | 1991-11-04 15:55:01 +0000 | [diff] [blame] | 55 | vcopy.py selectively write frames from one movie file to another |
| 56 | usage: vcopy infile outfile |
| 57 | commands: 'n' gets next frame; 'w' writes current frame |
| 58 | |
Guido van Rossum | e4bddea | 1991-10-30 11:52:48 +0000 | [diff] [blame] | 59 | video.py player for movies recorded by camcorder.py |
Guido van Rossum | 7385d58 | 1991-11-22 14:03:57 +0000 | [diff] [blame] | 60 | usage: video [-l] [-p pf] [-m mag] [-F] |
| 61 | [moviefile [soundfile [skipbytes]]] |
Guido van Rossum | 228381e | 1991-11-04 18:04:47 +0000 | [diff] [blame] | 62 | -p pf override packfactor (to zoom) |
| 63 | -l looping -- restart movie when done |
Guido van Rossum | 7385d58 | 1991-11-22 14:03:57 +0000 | [diff] [blame] | 64 | -m mag magnification |
| 65 | -F run at max speed |
Guido van Rossum | 228381e | 1991-11-04 18:04:47 +0000 | [diff] [blame] | 66 | moviefile default is film.video |
| 67 | soundfile default is none (no sound) |
| 68 | skipbytes byte offset in soundfile where sound starts |
Guido van Rossum | e4bddea | 1991-10-30 11:52:48 +0000 | [diff] [blame] | 69 | |
Guido van Rossum | b2e8228 | 1992-08-18 16:01:19 +0000 | [diff] [blame] | 70 | Vplay.py same but using VFile.py |
| 71 | |
Guido van Rossum | eda5dfd | 1991-11-06 16:13:25 +0000 | [diff] [blame] | 72 | vinfo.py print summary of movie file(s) |
| 73 | usage: vinfo [-d] moviefile ... |
| 74 | -d print delta times (default: print abs times) |
Guido van Rossum | e4bddea | 1991-10-30 11:52:48 +0000 | [diff] [blame] | 75 | |
Guido van Rossum | b2e8228 | 1992-08-18 16:01:19 +0000 | [diff] [blame] | 76 | Vinfo.py same but using VFile.py |
| 77 | |
Guido van Rossum | 96059b3 | 1991-11-04 14:31:31 +0000 | [diff] [blame] | 78 | vpregs.py definition of VP registers |
| 79 | |
Guido van Rossum | e4bddea | 1991-10-30 11:52:48 +0000 | [diff] [blame] | 80 | vtime.py virtual time module imported by syncaudio.py and camcorder.py |
| 81 | |
| 82 | |
| 83 | These are C programs, either for efficiency or because they need to |
| 84 | link with a C library. |
| 85 | |
| 86 | squash.c make a movie smaller by averaging pixels |
| 87 | usage: squash factor [bits] <moviefile >newmoviefile |
| 88 | factor x and y compression factor |
| 89 | bits #bits left per sample in result (default 8) |
| 90 | |
| 91 | squash2.c make a movie smaller by dropping pixels |
| 92 | usage: squash2 factor <moviefile >newmoviefile |
| 93 | factor x and y compression factor |
| 94 | |
| 95 | tomono.c like squash2 but outputs a monochrome movie |
| 96 | |
Guido van Rossum | 7caf611 | 1991-11-04 15:55:01 +0000 | [diff] [blame] | 97 | v2i.c convert the first frame of a movie file to SGI .rgb format |
Guido van Rossum | e4bddea | 1991-10-30 11:52:48 +0000 | [diff] [blame] | 98 | link with -limage |