As a high-level Objective-C framework, the QuickTime Kit is built on top of a number of other Mac OS X graphics and imaging technologies, including QuickTime, Core Image, Core Audio, Core Animation, Quartz 2D, and OpenGL. This means much of the work involved in dealing with the processing of video, audio, and image media in your application is already provided for you by the underlying Mac OS X graphics and imaging engines, thereby reducing the code you need to write, as well as the code overhead required in your Xcode projects.
The new capture classes and methods available in the QuickTime Kit provide frame-accurate audio/video synchronization, and frame-accurate capture, meaning you can specify precisely––with timecodes––when you want capturing to occur. You also have access to transport controls of your camcorder, so you can fast forward and rewind the tape.
Using these classes and methods, you can capture media from one or more external sources, including
Cameras
Microphones
Other external media devices, such as capture cards and tapedecks
The devices supported in Mac OS X v10.5 include:
VDC over USB, including the built-in iSight camera
IIDC over FireWire, includes external iSight
HDV, with Final Cut Pro, devices (with the appropriate codecs installed)
Core Audio HAL devices
Note that DV devices and Pro DV formats, such as DVCPro HD, require Final Cut Pro.
Important: With the introduction of the new, robust QTKit capture API, QuickTime developers are encouraged to move their development efforts away from usage of the component-based Sequence Grabber API.
After you’ve captured this media, you can record it to one or more output destinations, including but not necessarily limited to the following:
A QuickTime movie (.mov) file
A Cocoa view that previews video media captured from the input sources
Notably, as soon as you’ve captured media, you can also record the output to other destinations for use in custom-built applications and custom processing. This functionality is provided by the methods provided in the QTCaptureDecompressedVideoOutput and QTCaptureVideoPreviewOutput classes.
The next section discusses the types of capture objects you’ll use in working with the QuickTime Kit framework. A basic understanding of these objects is important in building your QTKit capture application player.
Last updated: 2007-10-31