Introduction
Technology Overview
QuickTime provides a rich API that helps your applications display, import, export, modify, and capture many kinds of media, including audio, video, still images, text, Flash, MIDI, sprites, VR panoramas, and more. It works with local disk-based media, media accessed over a network, or streams of real-time data.
Using the QuickTime API, you can write programs that run on both Mac OS and Windows.
Similarly, media packaged as QuickTime movies play equally well on Mac OS and Windows, provided QuickTime is installed on the playback machine. A QuickTime movie can store any of the media types that QuickTime can play, including MP3 audio, JPEG images, MPEG-4 video, text, or any combination of such media.
Your application can use QuickTime to:
Open and play video movies, audio files, still images, and other media
Edit and modify multimedia
Translate still images from one format to another
Compress audio, video, and still images in various formats
Synchronize multiple media to a common time line
Capture audio and/or video from an external device
Save output from your application as a QuickTime movie
Stream media over a LAN or the Internet
Create and display virtual reality objects and panoramas
You can extend QuickTime's capabilities by writing new QuickTime components, often without rewriting any application code. For example, you can add support for a new media type, compression algorithm, or video digitizer card, simply by writing QuickTime components. In many cases, added components become available to existing applications transparently.
Start Here
Before you begin working with the QuickTime API, you should download a software development kit for your platform. An SDK includes the necessary header files and libraries for you to create code that makes calls to QuickTime on your platform. There are QuickTime SDKs for Mac OS X, Windows, Java, and Java for Windows.
You should start your reading with the QuickTime Overview; it’s okay to skim at this point. You might also want to read the “Overview” and “Movies” sections of An Introduction to QuickTime.
Windows programmers should then read the “Cross-Platform Development” section of An Introduction to QuickTime and may want to skim through QuickTime for Windows Programmers as well.
Choose a Learning Path
When you're ready to start delving into the API documentation, where you start depends on your choice of programming framework. You can then explore the parts of the QuickTime API designed to help with what you want to do, such as play movies or edit them, capture audio and video, or import and export media.
Learning About the QuickTime API
Most of the QuickTime API, and most of the documentation and sample code, are intended for procedural C or C++ programmers (Windows or Carbon frameworks).
If you are programming in Java or Objective-C, you have direct access to high-level QuickTime capabilities, but you may need to make calls to the C/C++ API for access to lower-level functions. You may also need to read some C/C++ documentation and sample code.
If you are a Java programmer, start with QuickTime for Java—Getting Started
If you are a Cocoa programmer, start with QuickTime Kit Programming Guide.
If you are a C/C++ (Carbon or Windows) programmer, start with
To see the most recent additions and changes to the QuickTime API, see the latest QuickTime Update Guide.
Playing Movies, Including Audio and Still Images
To write a simple movie player application, read QuickTime Movie Playback Programming Guide then Movie Controller Components.
Windows programmers should also read QuickTime and File System Pathnames.
You can find sample code in QuickTime Movie Basics and in Play Movie with Controller.
Editing Movies
To write a simple movie editor application, read the following documents from the QuickTime Movie Basics documentation:
Movie Controller Components
You can find sample code in QuickTime Movie Basics.
Creating Movies
You can create movies by capturing audio and video from an external source, or by synthesizing sample data programmatically.
If you are capturing or digitizing sample data to create a movie, read Creating Movies and Sequence Grabber Components in QuickTime Movie Creation Guide.
If you are creating sample data programmatically to build a movie, read Creating Movies in QuickTime Movie Creation Guide and MovieExportFromProceduresToDataRef.
If you are a Windows programmer, you should also read Mixing Quickdraw and Win32 Drawing: GWorlds, HDCs, HBITMAPs, and DIB sections.
See also the sample code CreateMovie and qtcapture.
Learning More About the QuickTime API
Additional features of the QuickTime API that you may want to learn more about are:
Importing and exporting media, in QuickTime Import and Export Guide
Capturing movies from external sources such as video input cards, in About Video Digitizer Components in QuickTime Import and Export Guide
Streaming movies using real-time protocols, in QuickTime Streaming Server Modules Programming Guide
Adding interactivity using sprites and wired actions, in QuickTime Interactivity in Interactive Movies
Working with virtual reality, in QuickTime VR
Writing new QuickTime components, in QuickTime Component Creation Guide
Next Steps
A good source for recent articles, relevant SDKs, mailing lists, links, and documentation is the ADC QuickTime topic page.
The QuickTime Reference Library contains indispensable resources for developing QuickTime applications and components, and can be bookmarked for easy access.
Conceptual and how-to information for QuickTime.
Focused, detailed descriptions in reference format for QuickTime.
Late-breaking news and highlights of new or changed features in the latest release.
QuickTime sample code for Mac OS and Windows.
Late-breaking documents on timely technology issues.
Programming tips, code snippets, & FAQs by Apple’s support engineers.
Mailing Lists
The
mailing list is an excellent place to discuss QuickTime programming and the QuickTime API. To discuss movie authoring and website development, you can join thequicktime-api
mailing list. To discuss all aspects of Quicktime VR—photography, tools, authoring, and websites—join thequicktime-users
mailing list.quicktime-vr
These additional Apple resource pages may be helpful:
Tools, tips, and tutorials for web and movie authors
Free Apple tools for QuickTime programmers, movie authors, and website developers.
Programming tips on important topics, by the QuickTime engineers
QuickTime Streaming Server and Darwin Streaming Server
QuickTime’s real-time streaming server technology
Copyright © 2004, 2007 Apple Inc. All Rights Reserved. Terms of Use | Privacy Policy | Updated: 2007-02-20