To develop applications that take advantage of QuickTime’s interactive capabilities, you should understand some concepts underlying the QuickTime architecture. These concepts include movies, media data structures, components, image compression, and time.
Movies and Media Data Structures
Movies––A Few Good Concepts
Time Management
You can think of QuickTime as a set of functions and data structures that you can use in your application to control change-based data. In QuickTime, a set of dynamic media is referred to simply as a movie.
Originally, QuickTime was conceived as a way to bring movement to computer graphics and to let movies run on the desktop. But as QuickTime developed, it became clear that more than movies were involved. Elements that had been designed for static presentation could be organized along a time line, as dynamically changing information.
The concept of dynamic media includes not just movies but also animated drawings, music, sound sequences, virtual environments, and active data of all kinds. QuickTime became a generalized way to define time lines and organize information along them. Thus, the concept of the movie became a framework in which any sequence of media could be specified, displayed, and controlled. The movie-building process evolved into the five-layer model illustrated in “Figure 1-1.”
A QuickTime movie may contain several tracks. Each track refers to a single media data structure that contains references to the movie data, which may be stored as images or sound on hard disks, compact discs, or other devices.
Note: Your application never needs to work directly with the movie data, because Movie Toolbox functions allow you to manage movie content and characteristics. All the function calls in the Movie Toolbox are contained in the QuickTime API Reference, which is the definitive and most comprehensive reference source available of the API at http://developer.apple.com/documentation/Quicktime/QuickTime.html
Using QuickTime, any collection of dynamic media (audible, visual, or both) can be organized as a movie. By calling QuickTime, your code can create, display, edit, copy, and compress movies and movie data in most of the same ways that it currently manipulates text, sounds, and still-image graphics. While the details may get complicated, the top-level ideas are few and fairly simple:
Movies are bookkeeping structures. They contain all the information necessary to organize data in time, but they don’t contain the data itself.
Movies are made up of tracks. Each track references and organizes a sequence of data of the same type—images, sounds, or whatever—in a time-ordered way.
Media structures (or just media) reference the actual data that are organized by tracks. Chunks of media data are called media samples.
A movie file typically contains a movie and its media, bundled together so you can download or transport everything together. But a movie may also access media outside its file—for example, sounds or images from a Web site.
The basic relations between movies, tracks, and media are diagrammed in “Figure 1-2.”
Figure 1-2 Movies, tracks, and media. Note that the material displayed by the tracks is contained in media structures that are located externally and organized by the movie.

Time management in QuickTime is essential. You must understand time management in order to understand the QuickTime functions and data structures.
QuickTime movies organize media along the time dimension. To manage this dimension, QuickTime defines time coordinate systems that anchor movies and their media data structures to a common temporal reality, the second. Each time coordinate system establishes a time scale that provides the translation between real time and the apparent time in a movie. Time scales are marked in time units—so many per second. The time coordinate system also defines duration, which specifies the length of a movie or a media structure in terms of time units. A particular point in a movie can then be identified by the number of time units elapsed to that point. Each track in a movie contains a time offset and a duration, which determine when the track begins playing and for how long. Each media structure also has its own time scale, which determines the default time units for data samples of that media type.
Last updated: 2002-10-01