Getting Started with QuickTime

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 Guide for Windows 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.

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:

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.

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:

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.

  • Guides

    Conceptual and how-to information for QuickTime.

  • Reference

    Focused, detailed descriptions in reference format for QuickTime.

  • Release Notes

    Late-breaking news and highlights of new or changed features in the latest release.

  • Sample Code

    QuickTime sample code for Mac OS and Windows.

  • Technical Notes

    Late-breaking documents on timely technology issues.

  • Technical Q&As

    Programming tips, code snippets, & FAQs by Apple’s support engineers.

  • Mailing Lists

    The quicktime-api mailing list is an excellent place to discuss QuickTime programming and the QuickTime API. To discuss movie authoring and website development, you can join the quicktime-users mailing list. To discuss all aspects of Quicktime VR—photography, tools, authoring, and websites—join the quicktime-vr mailing list.

These additional Apple resource pages may be helpful:

© 2004, 2007 Apple Inc. All Rights Reserved. (Last updated: 2007-02-20)

Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.