A newer version of Max is available. Click here to access the latest version of this document.

jit.qt.grab

Digitize video from an external source

Description

The jit.qt.grab object permits one to digitize video from any QuickTime-compatible video digitizer, and decompress the signal into a Jitter matrix. It also offers a grab-to-disk mode. Although numerous parameters for control are offered, not all features are supported by all digitizers.

WINDOWS USERS: At this time, the jit.qt.grab object requires a 3rd party QuickTime VDIG component under Windows. We are currently aware of two: WinVDIG (free, http://www.vdig.com/WinVDIG/ ) and Abstract Plane (~$40 USD, http://www.abstractplane.com/products/vdig.jsp ). The object will not function with most Windows-ready devices without one of these installed in your system.

Matrix Operator

matrix inputs:1, matrix outputs:1
Name IOProc Planelink Typelink Dimlink Plane Dim Type
out n/a 1 1 1 4 1 char

Information for Jitter Matrix Operator (MOP) messages and attributes to this object

Messages

defaults Restores digitizer image control defaults.
close Closes an open sequence grab component. The component is automatically closed when the object is freed.
exportimage filename [symbol]
file-type [symbol]
use-dialog [int]
Export the current frame as an image file with the name specified by the first argument. The second argument sets the file type (default = png). Available file types are png, bmp, jpeg, macpaint, photoshop, pict, qtimage, sgi, tga and tiff. An optional use-dialog argument of 1 will open a File dialog to allow you to enter the image file settings.
You can use the Max Preferences to specify a default image resolution.
getiidc_caps feature name [symbol]
MAC OSX ONLY, requires open IIDC device. Reports a list of capabilities for a specific IIDC feature (see the getiidclist message for information on getting IIDC features) from the jit.qt.grab object's dump outlet. These capabilities are used to set the state of the IIDC feature. Since every IIDC device might support different features, and each feature might support different capabilities, the capabilities list provides a means of knowing which symbols are valid to set the state (using the iidc_state message) for any particular feature of a specific device. The capabilities list typically is formatted as follows: iidc_state feature-name variable capabilities data .
getiidc_csr offset [int]
0/1 [int]
MAC OSX ONLY, requires open IIDC device. Reports the current value of an IIDC register from the jit.qt.grab object's dump outlet, preceded by the symbol iidc_csr. The offset argument specifies the byte offset to read from. The second argument, if present and 1, specifies that the byte offset is relative to the initial unit space (FFFF Fxxx xxxx). Otherwise, the byte offset is relative to the initial register space (FFFF F000 0000).
getiidc_state feature name [symbol]
MAC OSX ONLY, requires open IIDC device. Reports the current state of a specific IIDC feature (see the getiidclist message for information on getting IIDC features) from the jit.qt.grab object's dump outlet. The state list typically is formatted as follows: iidc_state feature-name val feature-value variable additional data .
getiidclist MAC OSX ONLY, requires open IIDC device. Reports a list of available IIDC features for the open IIDC component from the jit.qt.grab object's dump outlet, preceded by the symbol iidclist.
getinputlist Reports the list of available inputs to the video digitizer from the object's right outlet, preceded by the word inputlist. Note that the digitizer must be open in order for this method to function.
getsnddevlist Reports the list of available sound digitizers from the object's right outlet, preceded by the word snddevlist.
getsndinputlist Reports the list of available inputs for the current sound digitizer from the object's right outlet, preceded by the word sndinputlist. Note that the digitizer must be open in order for this method to function.
getvdevlist Reports the list of available video digitizers from the object's right outlet, preceded by the word vdevlist.
iidc_csr data [int]
offset [int]
0/1 [int]
MAC OSX ONLY, requires open IIDC device. Directly sets the state of an IIDC register. The data argument specifies the new value for the register. The offset argument, if present, specifies the byte offset to set (if absent, the byte offset is assumed to be 0). The third argument, if present and 1, specifies that the byte offset is relative to the initial unit space (FFFF Fxxx xxxx). Otherwise, the byte offset is relative to the initial register space (FFFF F000 0000).
iidc_state feature name [symbol]
feature-specific data [list]
MAC OSX ONLY, requires open IIDC device. Sets the current state of a specific IIDC feature (see the getiidclist message for information on getting IIDC features). Typically, to set the numeric value of a particular feature, the symbol val followed by a number is used. For other data (on/off, auto/manual, etc.), valid symbols used to set the state can be acquired using the getiidc_caps message.
open Opens a sequence grab component. A component must be explicitly opened before the jit.qt.grab object will began digitizing.
settings Opens the standard video digitizer settings dialog box.
snd_settings Opens the standard sound digitizer settings dialog box.
stop Stops grabbing to disk.
write videofilename [symbol]
audiofilename [symbol]
FPS [float]
codec [symbol]
spatialquality [symbol]
temporalquality [symbol]
keyframes [symbol]

Starts grabbing to disk. If the write_split attribute is disabled, only one filename argument is required; Otherwise, the video and audio filenames are required. If no filename arguments are supplied, a file dialog box will open.

The default FPS is 30. frames/sec.

The default codec is raw . The following list of codecs is deprecated (retained for reference). See codeclist for the preferred method to list valid system codecs. Supported codecs are raw , cinepak , graphics , animation , video , componentvideo , jpeg , mjpega , mjpegb , sgi , planarrgb , macpaint , gif , photocd , qdgx , avrjpeg , opendmljpeg , bmp , winraw , vector , qd , h261 , h263 , dvntsc , dvpal , dvpropal , flc , targa , png , tiff , componentvideosigned , componentvideounsigned , cmyk , microsoft , sorenson , indeo4 , argb64 , rgb48 , alphagrey32 , grey16 , mpegyuv420 , yuv420 , sorensonyuv9 and mpeg4 .

The default spatialquality and temporalquality values are max . Supported quality settings are lossless , max , min , low , normal , and high . Note that minimum quality is, in many cases, the codec's default quality. Use "low" quality for consistent results.

The default keyframes is 0 , which will cause keyframes to be inserted automatically, as necessary.

Attributes

Name Type g/s Description
bitrate int The sound digitizer bit depth (default = digitizer-specific)
8 = digitize sound at 8-bit resolution
16 = digitize sound at 16-bit resolution
blacklevel float The video digitizer black level (default = digitizer-specific)
brightness float The video digitizer brightness level (default = digitizer-specific)
channels int The sound digitizer channel selection (default = digitizer-specific)
1 = digitize sound in mono
2 = digitize sound in stereo
codeclist symbol (get) The valid video codecs available on the system
Sending the message getcodeclist will cause a list of all valid codecs (that is, those with a functioning compressor component) to be reported from the dumpout. This list is guaranteed to contain only working codecs, and should be used in preference to the old, static codec list.
codecquality symbol The video digitizer codec quality. This is only active in vmode 2 (default = 4/max)
0 or min = minimum
1 or low = low
2 or normal = normal
3 or high = high
4 or max = maximum
5 or lossless = lossless

Note that minimum quality is, in many cases, the codec's default quality. Use "low" quality for consistent results.
colormode symbol The output matrix's color encoding (default = argb)
argb = ARGB (alpha, red, green, blue) colormode
uyvy = UYVY (YUV 4:2:2 packed) colormode
colorspace int The video digitizer colorspace mode (default = digitizer-specific)
0 = grayscale
1 = color
contrast float The video digitizer contrast level (default = digitizer-specific)
dfg_colormode int MAC OS X ONLY. The color mode of an attached DFG/1394-1 digitizer (using ASC's driver, version 2 or higher) (default = digitizer-specific)
0 = 32-bit color
1 = 8-bit greyscale
2 = 8-bit x-ray
3 = 8-bit red
4 = 8-bit green
5 = 8-bit blue
6 = 8-bit blue to red
7 = 8-bit green to red
8 = 8-bit blue to green
9 = 8-bit psycho
dfg_offset int MAC OS X ONLY. The vertical frame offset of an attached DFG/1394-1 digitizer (using ASC's driver, version 2 or higher) (default = 0)
Valid values are between -4 and 4 pixels (negative values offset the image toward the top of the frame, positive toward the bottom), and not all values are supported by all revisions of the DFG/1394-1.
dropreport int Dropped frames reporting flag (default = 0 (disabled))
When this flag is set, the message dropped will be sent from the rightmost outlet of the jit.qt.grab object, followed by the number of dropped frames, whenever frame-dropping is detected.
dstrect int The portion of the output matrix used for decompressing media to the internal matrix. (default = 0 0 (matrix width) (matrix height))
The proportions of the rectangle are expressed in the form left top right bottom . All values are relative to the top left corner of the viewing area of the output matrix.
field int The video digitizer field selection (default = digitizer-specific)
0 = digitizer determines field selection
1 = digitizer uses odd field
2 = digitizer uses even field MAC OSX ONLY WITH DFG/1394-1 digitizer (using ASC-s driver, version 2 or higher) 128 = digitizer uses both fields, alternating 129 = digitizer uses both fields, stacked (upper half is odd, lower half is even)
framerate float The video digitizer frame rate (default = digitizer-specific).
The digitizer has to be closed and re-opened before changes to framerate take effect.
framereport int Frame reporting flag (default = 0)
When enabled, the message framecalc will be sent from the rightmost outlet of the jit.qt.grab object as each frame is processed, followed by the number of milliseconds spent doing so.
gain float The sound digitizer gain (default = digitizer-specific)
gamma float The video digitizer gamma (default = digitizer-specific)
hue float The video digitizer hue adjustment (default = digitizer-specific)
input int The current video digitizer input (default = digitizer-specific)
interp int Image interpolation flag (default = 0)
maxfps float (get) The video digitizer's maximum frame rate (default = digitizer-specific)
playthru int Sound digitizer playthrough flag (default = digitizer-specific)
pll int The phase locked loop (PLL) type (default = digitizer-specific)
0 = broadcast mode
1 = VTR mode
samplerate int Sound digitizer sample rate (default = digitizer-specific)
48000 = 48kHz
44100 = 44.1kHz
32000 = 32kHz
22050 = 22.050kHz
22254 = 22kHz
16000 = 16kHz
11127 = 11kHz
11025 = 11.025kHz
8000 = 8000 Hz
saturation float Video digitizer saturation level (default = digitizer-specific)
sharpness float Video digitizer sharpness level (default = digitizer-specific)
singlefield int Single field flag (default = 1 (enabled))
When the flag is set, an attempt is made to decompress one field of an interlaced frame at high quality, and then scale the image to the frame size. If the digitizer doesn't provide interlaced frames, this flag does nothing.
snd_active int (set) Sound digitizer enable flag (default = 0)
sndcodec symbol Sound digitizer codec mode (used for recording) (default = digitizer-specific)
none = no compression
raw = raw compression
big16 = 16-bit big endian
little16 = 16-bit little endian
float32 = 32-bit floating point
float64 = 64-bit floating point
24bit = 24-bit integer
32bit = 32-bit integer
little32 = 32-bit little endian
mace3 = MACE 3:1
mace6 = MACE 6:1
cdxa4 = CD/XA 4:1
cdxa2 = CD/XA 2:1
ima = IMA 4:1
ulaw = uLaw 2:1
alaw = aLaw 2:1
adpcm = Microsoft ADPCM (ACM code 2)
dviima = DVI/Intel IMA ADPCM (ACM code 17)
dvaudio = DV Audio
qdesign = QDesign music
qdesign2 = QDesign2 music
qualcomm = Qualcomm PureVoice
mp3 = MPEG Layer 3 (CBR or VBR)
snddevice int The current sound digitizer (default = 0)
sndinput int The current sound input for the selected sound digitizer (default = 0)
srcrect int Source rect from digitizer frame (default = 0 0 (matrix width) (matrix height))
standard symbol (set) The video digitizer standard selection (default = digitizer-specific)
ntsc = NTSC
pal = PAL
secam = SECAM
unique int Unique frame filter flag (default = 0 (disabled))
When the flag is set, only new frames from the digitizer are output when the object receives a bang. If no new frame has been received from the digitizer, the jit.qt.grab object will not respond to the bang.
uniqueid int (get) Unique camera ID
usedstrect int Destination rect flag (default = 0) When the flag is set, the dstrect attributes are used when copying an input matrix to the internal matrix.
usesrcrect int Source rect flag (default = 0) When the flag is set, the srcrect attributes are used when copying an input matrix to the internal matrix.
vdevice int The current video digitizer (default = 0)
vmode int The video digitizer mode (default = 0 (sequence grab))
0 = sequence grab mode
1 = vdig mode (necessary/desirable for some digitizers)
2 = DV high quality mode
volume float The sound digitizer volume (default = digitizer-specific)
whitelevel float The video digitizer white level (default = digitizer-specific)
window symbol Window name (default = none) If this attribute is set, the jit.qt.grab object will render directly into the named jit.window object, thus able to use hardware decompression and interpolation as permitted by QuickTime. The window must have noaccel set to 1 in order for this to work.
If no symbol argument is given, the jit.qt.grab object's default behaviour of rendering to and outputting a matrix is used.

write_audio int Audio track write flag (default = 0) When the flag is set, an audio track is written when grabbing images to disc.
write_length int The length (in frames) to limit write operations to (default = 0 (inactive)) When non-zero, limits the disk grab to the specified number of frames. The write operation will stop automatically. If you are grabbing sound only, write_length has no effect.
write_preview int Image preview flag (default = 0) When the flag is set, images can be previewed when grabbing images to disc.
write_split int Split file write flag (default = 0) When the flag is set, separate disk files for audio and video are written when grabbing images to disc. Otherwise, a single file containing both is written.
write_video int Video track write flag (default = 1) When the flag is set, a video track is written when grabbing images to disc.

Information for box attributes common to all objects

Examples

See Also

Name Description
jit.qt.effect QuickTime Effects for Jitter matrices
jit.dx.grab Digitize video from an external source using DirectX (Windows only)
jit.qt.movie Play or edit a QuickTime movie
jit.qt.record Record a QuickTime movie
jit.dx.videoout Output video to DirectX FireWire output (Windows only)
jit.qt.videoout Output video to QuickTime video output component
Tutorial 21: Working With Live Video and Audio Input Tutorial 21: Working With Live Video and Audio Input