QuickTime is a multimedia framework developed by Apple Inc., capable of handling various formats of digital video, media clips, sound, text, animation, music, and several types of interactive panoramic images. Available for Classic Mac OS, Mac OS X and Microsoft Windows operating systems, it provides essential support for software packages including iTunes, QuickTime Player (which can also serve as a helper application for web browsers to play media files that might otherwise fail to open) and Safari.
QuickTime is integral to Mac OS X, as it was with earlier versions of Mac OS. All Apple systems ship with QuickTime already installed, as it represents the core media framework for Mac OS X. QuickTime is optional for Windows systems, although many software applications require it. Apple bundles it with each iTunes for Windows download, but it is also available as a standalone installation.
QuickTime is distributed free of charge. Some other free player applications that rely on the QuickTime framework provide features not available in the basic QuickTime Player. For example:
Any application can be written to access features provided by the QuickTime framework.
The included QuickTime Player is limited to only the most basic playback operations unless the user purchases a QuickTime Pro license key, which Apple sells for US$29.95. Apple's "ProApplications" (e.g. Final Cut Studio, Logic Studio) come with a free QuickTime Pro license. Pro keys are specific to the major version of QuickTime for which they are purchased. The Pro key unlocks additional features of the QuickTime Player application on Mac OS X or Windows (although most of these can be accessed simply by using players, video editors or miscellaneous utilities from other sources). Use of the Pro key does not entail any additional downloads.
Features enabled by the Pro license include, but are not limited to:
As of early 2008 the framework hides many of the older codecs below from view. Users must choose "Show legacy encoders" in QuickTime Preferences to use them. The framework supports the following file types and codecs natively:
The ability to contain abstract data references for the media data, and the separation of the media data from the media offsets and the track edit lists means that QuickTime is particularly suited for editing, as it is capable of importing and editing in place (without data copying). Other later-developed media container formats such as Microsoft's Advanced Systems Format or the open source Ogg and Matroska containers lack this abstraction, and require all media data to be rewritten after editing.
Other file formats that QuickTime supports natively (to varying degrees) include AIFF, WAV, DV, MP3, and MPEG-1. With additional QuickTime Extensions, it can also support Ogg, ASF, FLV, MKV, DivX Media Format, and others.
On February 11, 1998 the ISO approved the QuickTime file format as the basis of the MPEG-4 Part 14 (.mp4) container standard. By 2000, MPEG-4 Part 14 became an industry standard, first appearing with support in QuickTime 6 in 2002. Accordingly, the MPEG-4 container is designed to capture, edit, archive, and distribute media, unlike the simple file-as-stream approach of MPEG-1 and MPEG-2.
Because both the MOV and MP4 containers can use the same MPEG-4 codecs, they are mostly interchangeable in a QuickTime-only environment. However, MP4, being an international standard, has more support. This is especially true on hardware devices, such as the Sony PSP and various DVD players; on the software side, most DirectShow / Video for Windows codec packs include an MP4 parser, but not one for MOV.
In QuickTime Pro's MPEG-4 Export dialog, an option called "Passthrough" allows a clean export to MP4 without affecting the audio or video streams. One recent discrepancy ushered in by QuickTime 7 is that the MOV file format now supports multichannel audio (used, for example, in the high-definition trailers on Apple's site), while QuickTime's support for audio in the MP4 container is limited to stereo. Therefore multichannel audio must be re-encoded during MP4 export.
|QuickTime platform compatibility|
The first commercial project produced using QuickTime 1.0 was the CD-ROM From Alice to Ocean The first publicly visible use of QuickTime was Ben & Jerry's interactive factory tour (dubbed The Rik & Joe Show after its in-house developers). The Rik and Joe Show was demonstrated onstage at MacWorld in San Francisco when John Sculley announced QuickTime.
Apple released QuickTime 1.5 for Mac OS in the latter part of 1992. This added the SuperMac-developed Cinepak vector-quantization video codec (initially known as Compact Video), which managed the previously unheard-of feat of playing back video at 320×240 resolution at 30 frames per second on a 25 MHz 68040 CPU. It also added text tracks, which allowed for things like captioning, lyrics, etc., at very little addition to the size of a movie.
In an effort to increase the adoption of QuickTime, Apple contracted an outside company, San Francisco Canyon Company, to port QuickTime to the Windows platform. Version 1.0 of QuickTime for Windows provided only a subset of the full QuickTime API, including only movie playback functions driven through the standard movie controller.
QuickTime 1.6.x came out the following year. Version 1.6.2 first incorporated the "QuickTime PowerPlug" which replaced some components with PowerPC-native code when running on PowerPC Macs.
QuickTime 2.0 for Windows appeared in November 1994 under the leadership of Paul Charlton. As part of the development effort for cross-platform QuickTime, Charlton (as architect and technical lead), along with ace individual contributor Michael Kellner and a small highly effective team including Keith Gurganus, ported a subset of the Macintosh Toolbox to Intel and other platforms (notably, MIPS and SGI Unix variants) as the enabling infrastructure for the QuickTime Media Layer (QTML) which was first demonstrated at the Apple WorldWide Developer Conference (WWDC) in May 1996. The QTML later became the foundation for the Carbon API which allowed legacy Macintosh applications to run on the Darwin kernel in Mac OS X.
The next versions, 2.1 and 2.5, reverted to the previous model of giving QuickTime away for free. They improved the music support and added sprite tracks which allowed the creation of complex animations with the addition of little more than the static sprite images to the size of the movie. QuickTime 2.5 also fully integrated QuickTime VR 2.0.1 into QuickTime as a QuickTime extension. On January 16, 1997, Apple released the QuickTime MPEG Extension (PPC only) as an add-on to QuickTime 2.5, which added software MPEG-1 playback capabilities to QuickTime.
QuickTime 3.0 added support for graphics importer components that could read images from GIF, JPEG, TIFF and other file formats, and video output components which served primarily to export movie data via FireWire. Apple also licensed several third-party technologies for inclusion in QuickTime 3.0, including the Sorenson Video codec for advanced video compression, the QDesign Music codec for substantial audio compression, and the complete Roland Sound Canvas instrument set and GS Format extensions for improved playback of MIDI music files. It also added video effects which programmers could apply in real-time to video tracks. Some of these effects would even respond to mouse clicks by the user, as part of the new movie interaction support (known as wired movies).
The QuickTime interactive movie was to have been the playback format for the next generation of HyperCard authoring tool. Both the QuickTime interactive and the HyperCard 3.0 projects were canceled in order to concentrate engineering resources on streaming support for QuickTime 4.0, and the projects were never released to the public.
QuickTime 5 delivered the following enhancements:
QuickTime 6 was initially available for Mac OS 8.6 - 9.x, Mac OS X (10.1.5 minimum), and Windows 98, Me, 2000, and XP. However, development of QuickTime 6 for Mac OS slowed considerably in early 2003, after the release of Mac OS X v10.2 in August 2002. QuickTime 6 for Mac OS continued on the 6.0.x path, eventually stopping with version 6.0.3.
QuickTime 6.1 & 6.1.1 for Mac OS X v10.1 and Mac OS X v10.2 (released October 22, 2002) and QuickTime 6.1 for Windows (released March 31, 2003) offered ISO-Compliant MPEG-4 file creation and fixed the CAN-2003-0168 vulnerability.
Apple released QuickTime 6.2 exclusively for Mac OS X on April 29, 2003 to provide support for iTunes 4, which allowed AAC encoding for songs in the iTunes library. (iTunes was not available for Windows until October 2003.)
On December 18, 2003, Apple released QuickTime 6.5, supporting the same systems as version 6.4. Versions 6.5.1 and 6.5.2 followed on April 28, 2004 and October 27, 2004. These versions would be the last to support Windows 98 and Me. The 6.5 family added the following features:
After a couple of preview Windows releases, Apple released 7.0.2 as the first stable release on September 7 2005 for Windows 2000 and Windows XP. Version 7.0.4, released on January 10, 2006 was the first universal binary version. But it suffered numerous bugs, including a buffer overrun, which is more problematic to most users.
Apple dropped support for Windows 2000 with the release of QuickTime 7.2 on July 11, 2007. The last version available for Windows 2000, 7.1.6, contains numerous security vulnerabilities. References to this version have been removed from the QuickTime site, but it can be downloaded from Apple's support section. Apple has not indicated that they will be providing any further security updates for older versions. QuickTime 7.2 is the first version for Windows Vista.
Apple dropped support for Flash content in QuickTime 7.3, breaking content that relied on Flash for interactivity, or animation tracks. Security concerns seem to be part of the decision. Flash flv files can, however, still be played in QuickTime if the free Perian plugin is added.
In QuickTime 7.3, a processor that supports SSE is required. QuickTime 7.4 does not require SSE. Unlike versions 7.2 and 7.3, QuickTime 7.4 refuses to be installed on Windows XP SP1 system (its setup program checks if Service Pack 2 is installed). QuickTime 7.5 was released on June 10 2008. QuickTime 7.5.5 was released on Sept 9 2008.
QuickTime X (pronounced Quicktime Ten) is the next version of QuickTime, which was announced at WWDC on June 9 2008. It is scheduled to be shipped with Mac OS X v10.6 in mid-2009. Version X will be built upon media technology first used in iPhone OS and will have support for modern codecs and more efficient media playback.
Developers can use the QuickTime software development kit (SDK) to develop multimedia applications for Mac or Windows with the C programming language or with the Java programming language (see QuickTime for Java), or, under Windows, using COM/ActiveX from a language supporting this.
The COM/ActiveX option was introduced as part of QuickTime 7 for Windows and is intended for programmers who want to build standalone Windows applications using high-level QuickTime movie playback and control with some import, export, and editing capabilities. This is considerably easier than mastering the original QuickTime C++ API.
QuickTime 7 for Mac introduced the QuickTime Kit (aka QTKit), a developer framework that is intended to replace previous APIs for Cocoa developers. This framework is for Mac only, and exists as Objective-C abstractions around a subset of the C interface. Mac OS X v10.5 extends QTKit to full 64-bit support.
QuickTime is often criticized for its slow performance in both encoding and decoding video when compared to other media players and encoders. The QuickTime implementation of H.264 is sometimes considered inferior in specification to competitive implementations like x264 and Nero Digital. Due to these limitations, the same videos encoded with QuickTime usually have to be assigned a greater bit-rate to keep the quality level compared to other mainstream H.264 codecs. The QuickTime browser plugin is also criticized for its lack of full-screen support.
Versions 4.0 through 7.3 contained a buffer overflow bug which could compromise the security of a PC using either the QuickTime Streaming Media client, or the QuickTime player itself. The bug was fixed in version 7.3.1.