cpython/Demo/sgi/video/README

127 lines
4.2 KiB
Plaintext
Raw Normal View History

CMIF video tools
================
1991-10-30 11:52:48 +00:00
This directory contains Python and C programs to manipulate files
containing digitized video in the "CMIF video format".
1992-08-18 16:01:19 +00:00
History
-------
1992-08-18 16:01:19 +00:00
We started this in October 1991, when we had a large framegrabber
board on loan from SGI for a few weeks: we developed a movie recording
program (camcorder.py) and added numerous features, including still
frame capture and synchronous sound recording using a second machine
(the machine holding the framegrabber board didn't have audio).
During the following months, when we started using and processing the
recorded film fragments, the "CMIF video format" was revised several
times, and we eventually created an object-oriented interface for
reading and writing various incarnations of these files, called VFile.
(This module is also used by our flagship application, the CMIF
editor, not in this directory but in /ufs/guido/mm/.)
When we got our own Indigo entry-level video board (in June 1992) and
a version of the Irix video library that supported capturing PAL
format (in August 1992), Sjoerd added an interface to the video
1992-08-20 11:54:00 +00:00
library to Python (sv) and Guido wrote Vrec.py (based upon a
still frame grabber by Sjoerd, in turn based upon SGI demo code in C)
to record a movie using it.
1992-08-18 16:01:19 +00:00
Guido van Rossum
Jack Jansen
Sjoerd Mullender
1991-10-30 11:52:48 +00:00
1991-11-04 14:31:31 +00:00
Overview of files
-----------------
1991-10-30 11:52:48 +00:00
cam.py network real-time tv broadcast; see tv.py
usage: cam [packfactor [host]]
specifying 'all' for host broadcasts
camcorder.py record video movies or make snapshots (in movie format)
1991-11-04 14:31:31 +00:00
usage: camcorder [-c] [-a audiohost [-s]] [-p pf] [moviefile]
-c color (equivalent to -p 0)
1991-10-30 11:52:48 +00:00
-a audiohost syncaudio is running on audiohost
-s start syncaudio (on audiohost)
1991-11-04 14:31:31 +00:00
-p packfactor packfactor (default 2; 0 records color)
1991-10-30 11:52:48 +00:00
moviefile (default film.video)
keyboard commands:
s stop grabbing (single step if already stopped)
c continuous grabbing
r start recording
p pause recording (record single frame if paused)
ESC quit
1992-08-20 11:54:00 +00:00
Vrec.py record video movies using the Indigo video library and
1992-08-18 16:01:19 +00:00
board
1992-08-20 11:54:00 +00:00
colorsys.py color conversions, used by video
1991-10-30 11:52:48 +00:00
statit.py various statistics operations on movie files
syncaudio.py record audio synchronized with camcorder -a
usage: syncaudio videohost soundfile
1991-11-04 14:31:31 +00:00
soundfile format: 16 bits/sample, 16000 samples/sec, 1 channel
(actually, you'd better set the sampling rate to 16000
with the audio panel)
1991-10-30 11:52:48 +00:00
tv.py receiver for transmissions from cam.py
1991-11-04 15:55:01 +00:00
vcopy.py selectively write frames from one movie file to another
usage: vcopy infile outfile
commands: 'n' gets next frame; 'w' writes current frame
1991-10-30 11:52:48 +00:00
video.py player for movies recorded by camcorder.py
1991-11-22 14:03:57 +00:00
usage: video [-l] [-p pf] [-m mag] [-F]
[moviefile [soundfile [skipbytes]]]
1991-11-04 18:04:47 +00:00
-p pf override packfactor (to zoom)
-l looping -- restart movie when done
1991-11-22 14:03:57 +00:00
-m mag magnification
-F run at max speed
1991-11-04 18:04:47 +00:00
moviefile default is film.video
soundfile default is none (no sound)
skipbytes byte offset in soundfile where sound starts
1991-10-30 11:52:48 +00:00
Vplay.py similar but more modern, using VFile.py
1992-08-18 16:01:19 +00:00
1991-11-06 16:13:25 +00:00
vinfo.py print summary of movie file(s)
usage: vinfo [-d] moviefile ...
-d print delta times (default: print abs times)
1991-10-30 11:52:48 +00:00
Vinfo.py similar but more modern, using VFile.py
1992-08-18 16:01:19 +00:00
1991-11-04 14:31:31 +00:00
vpregs.py definition of VP registers
1991-10-30 11:52:48 +00:00
vtime.py virtual time module imported by syncaudio.py and camcorder.py
1992-08-20 11:54:00 +00:00
Vtime.py (unrelated to vtime!!!) Copy a video file,
manipulating the time codes (e.g. faster/slower, or
regenerate time codes, or drop frames too close apart)
Vedit.py interactive video editing program
Viewer.py two viewer classes used by Vedit
1991-10-30 11:52:48 +00:00
The following are C programs, either for efficiency or because they
need to link with a C library:
1991-10-30 11:52:48 +00:00
squash.c make a movie smaller by averaging pixels
usage: squash factor [bits] <moviefile >newmoviefile
factor x and y compression factor
bits #bits left per sample in result (default 8)
squash2.c make a movie smaller by dropping pixels
usage: squash2 factor <moviefile >newmoviefile
factor x and y compression factor
tomono.c like squash2 but outputs a monochrome movie
1991-11-04 15:55:01 +00:00
v2i.c convert the first frame of a movie file to SGI .rgb format
1991-10-30 11:52:48 +00:00
link with -limage
i2v.c convert an rgb file to "lrectwrite" format (this was
used one time by the CMIF editor)