Mac Music  |  Pc Music  |  440 Audio Software  |  440Forums  |  440tv  |  Zicos  |  AudioLexic

QuickTime

From AudioLexic

Jump to: navigation, search

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. It is available for the Mac OS X and Microsoft Windows operating systems, and powers a variety of software packages such as iTunes.

Contents

[edit] Overview

The QuickTime technology consists of the following:

  1. The QuickTime Player application, which is a media player.
  2. The QuickTime framework, which provides a common set of APIs for encoding and decoding audio and video.
  3. The QuickTime Movie (.mov) file format, an openly-documented media container.

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 4D media layer 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.

Software development kits (SDKs) for QuickTime are available to the public with a free Apple Developer Connection (ADC) subscription.

[edit] QuickTime players

QuickTime is distributed free of charge, and includes the QuickTime Player application. Any application can be written to access features provided by the QuickTime framework, but 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 $29.95. 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, including:

  • Full-screen playback.
  • New movie recordings from a FireWire DV or iSight camera.
  • Editing clips through the Cut, Copy and Paste functions, merging separate audio and video tracks, freely placing the video tracks on a virtual canvas with the options of cropping and rotation.
  • Saving and exporting (encoding) to any of the codecs supported by QuickTime. QuickTime 7 includes presets for exporting video to a video-capable iPod.

Some other free player applications that rely on the QuickTime framework provide features not available in the basic QuickTime Player. For example:


[edit] QuickTime framework

The QuickTime framework provides the following:

  • Encoding and transcoding video and audio from one format to another.
  • Decoding video and audio, then sending the decoded stream to the graphics or audio subsystem for playback. In Mac OS X, QuickTime sends video playback to the Quartz Extreme (OpenGL) Compositor.
  • A plug-in architecture for supporting additional codecs (such as DivX).


[edit] Audio

  • Apple Lossless
  • Audio Interchange (AIFF)
  • Digital Audio: Audio CD - 16-bit (CDDA), 24-bit, 32-bit integer & floating point, and 64-bit floating point
  • MIDI
  • MPEG-1 Layer 3 Audio (.mp3)
  • MPEG-4 AAC Audio (.m4a, .m4b, .m4p)
  • QDesign Music
  • Qualcomm PureVoice (QCELP)
  • Sun AU Audio
  • ULAW and ALAW Audio
  • Waveform Audio (WAV)

[edit] Video

  • 3GPP & 3GPP2 file formats
  • AVI file format
  • Bitmap (BMP) codec and file format
  • DV file (DV NTSC/PAL and DVC Pro NTSC/PAL codecs)
  • Flash & FlashPix files
  • GIF and Animated GIF files
  • H.261, H.263, and H.264 codecs
  • JPEG, Photo JPEG, and JPEG-2000 codecs and file formats
  • MPEG-1, MPEG-2, and MPEG-4 Video file formats and associated codecs (such as AVC)
  • Quartz Composer Composition (.qtz, Mac OS X only)
  • QuickTime Movie (.mov) and QTVR movies
  • Sorenson Video 2 and 3 codecs
  • Other video codecs: Apple Video, Cinepak, Component Video, Graphics, and Planar RGB
  • Other still image formats: PNG, TIFF, and TGA
  • Cached information from streams: QTCH

[edit] QuickTime file format

The QuickTime (.mov) file format functions as a multimedia container file that contains one or more tracks, each of which stores a particular type of data: audio, video, effects, or text (for subtitles, for example). Each track either contains a digitally-encoded media stream (using a specific codec) or a data reference to the media stream located in another file. Tracks are maintained in a hierarchal data structure consisting of objects called atoms. An atom can be a parent to other atoms or it can contain media or edit data, but it cannot do both.

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 formats include AIFF, DV, MP3, MPEG-1, and Indeo video. 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.

[edit] QuickTime and MPEG-4

On February 11, 1998 the ISO approved the QuickTime file format as the basis of the MPEG-4 Part 14 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.


[edit] Profile Support

QuickTime 6 had limited support for MPEG-4 in that it could only encode and decode Simple Profile (SP). Advanced Simple Profile (ASP) features, like B-frames, were unsupported, making QuickTime-encoded MPEG-4 files compare terribly with XviD and other full-featured encoders. QuickTime 7 decodes both MPEG-4 SP and ASP, though the encoder is still SP-only.

QuickTime 7's H.264 encoder is claimed to be Main Profile, but actually Baseline Profile plus 1 B-frame support, the decoder supports Baseline, Extended, and most of Main Profile. High Profile features are unsupported.

[edit] Container benefits

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.

[edit] History

Apple released the first version of QuickTime on December 2, 1991 as a multimedia add-on for System Software 6 and later. The lead developer of QuickTime, Bruce Leak, ran the first public demonstration at the May 1991 Worldwide Developers Conference, where he played Apple's famous 1984 TV commercial on a Mac, at the time an astounding technological breakthrough. Microsoft's competing technology — Video for Windows — did not appear until November 1992.

[edit] QuickTime 1.x

That first version of QuickTime laid down the basic architecture which survives essentially unchanged today, including multiple movie tracks, extensible media type support, an open-ended file format, and a full complement of editing functions. The original video codecs included:

  • the Apple Video codec (also known as "Road Pizza"), suited to normal live-action video
  • the Animation codec, which used simple run-length encoding and better suited cartoon-type images with large areas of flat color
  • the Graphics codec, optimized for 8-bit images, including ones that had undergone dithering

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 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.

[edit] QuickTime 2.x

Apple released QuickTime 2.0 for Mac OS in February 1994 — the only version never released for free. It added support for music tracks, which contained the equivalent of MIDI data and which could drive a sound-synthesis engine built into QuickTime itself (using sounds licensed from Roland), or any external MIDI-compatible hardware, thereby producing sounds using only small amounts of movie data.

Following Bruce Leak's departure to Web TV the leadership of the QuickTime team was taken over by Peter Hoddie.

QuickTime 2.0 for Windows appeared in November 1994.

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.

[edit] QuickTime 3.x

The release of QuickTime 3.0 for Mac OS on March 30, 1998 introduced the now-standard revenue model of releasing the software for free, but with additional features of the Apple-provided MoviePlayer application that end-users could only unlock by buying a QuickTime Pro license code.

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. It also included the advanced Sorenson codec (licensed from Sorenson Media), and the QDesign Music codec for substantial audio compression. 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).

[edit] QuickTime interactive

During the development cycle for QuickTime 3.0 part of the engineering team was working on a more advanced version of QuickTime to be known as QuickTime interactive or QTi. Although similar in concept to the wired movies feature released as part of QuickTime 3.0, QuickTime interactive was much more ambitious. It allowed any QuickTime movie to be a fully interactive and programmable container for media. A special track type was added that contained an interpreter for a custom programming language based on 68000 assembly language. This supported a comprehensive user interaction model for mouse and keyboard event handling based in part on the AML language from the Apple Media Tool.

The QuickTime interactive movie was to have been the playback format for the next generation of HyperCard authoring tool. Unfortunately 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.

[edit] QuickTime 4.x

Apple released QuickTime 4.0 on June 8, 1999 for Mac OS 7.5.5 through 8.6 (later Mac OS 9) and Windows 95, Windows 98, and Windows NT. Three minor updates (versions 4.0.1, 4.0.2, and 4.0.3) followed. It introduced features that most users now consider basic:

  • Graphics exporter components, which could write some of the same formats that the previously-introduced importers could read. (GIF support was omitted, possibly because of the LZW patent.)
  • Support for the QDesign Music 2 and MPEG-1 Layer 3 audio (MP3)
  • QuickTime 4 was the first version to support streaming. It was accompanied by the release of the free QuickTime Streaming Server version 1.0.

On December 17, 1999, Apple provided QuickTime 4.1, this version's first major update. Two minor versions (4.1.1 and 4.1.2) followed. The most notable improvements in the 4.1.x family were:

  • Support for files larger than 2.0 GB in Mac OS 9. (This is a consequence of Mac OS 9 requiring the HFS Plus filesystem.)
  • Variable bit rate (VBR) support for MPEG-1 Layer 3 (MP3) audio
  • Support for Synchronized Multimedia Integration Language (SMIL)
  • Introduction of AppleScript support in Mac OS
  • The requirement of a PowerPC processor for Mac OS systems. QuickTime 4.1 dropped support for Motorola 68k Macintosh systems.

[edit] QuickTime 5.x

QuickTime 5 was one of the shortest-lived versions of QuickTime, released in April 2001 and superseded by QuickTime 6 a little over a year later. This version was the last to have greater capabilities under Mac OS 9 than under Mac OS X, and the last version of QuickTime to support Mac OS versions 7.5.5 through 8.5.1 on a PowerPC Mac and Windows 95. Version 5.0 was initially only released for Mac OS and Mac OS X on April 14, 2001, and version 5.0.1 followed shortly thereafter on April 23, 2001, supporting Mac OS, Mac OS X, and Windows. Three more updates to QuickTime 5 (versions 5.0.2, 5.0.4, and 5.0.5) were released over its short lifespan.

QuickTime 5 delivered the following enhancements:

  • MPEG-1 playback for Windows, and updated MPEG-1 Layer 3 audio support for all systems.
  • Sorenson Video 3 (H.263) playback and export (added with the 5.0.2 update).
  • Realtime rendering of effects & transitions in DV files, including enhancements to DV rendering, multiprocessor support, and Altivec enhancements for PowerPC G4 systems.
  • Flash 4 playback and export.
  • A new QuickTime VR engine, adding support for cubic VR panoramas.

[edit] QuickTime 6.x

On July 15, 2002, Apple released QuickTime 6.0, providing the following features:

  • MPEG-4 playback, import, and export, including MPEG-4 Part 2 video and AAC Audio.
  • Support for Flash 5, JPEG 2000, and improved Exif handling
  • Instant-on streaming playback
  • MPEG-2 playback (via the purchase of Apple's MPEG-2 Playback Component)
  • Scriptable ActiveX control

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) 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 June 3, 2003, Apple released QuickTime 6.3, delivering the following:

  • Support for 3GPP, including 3G Text, video, and audio (AAC and AMR codecs)
  • Support for the .3gp, .amr, and .sdv file formats via separate component

QuickTime 6.4, released on October 16, 2003 for Mac OS X v10.2, Mac OS X v10.3, and Windows, added the following:

  • Addition of the Apple Pixlet codec (only for Mac OS X v10.3 and later)
  • ColorSync support
  • Integrated 3GPP

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. The 6.5 family added the following features:

  • 3GPP2 and AMC mobile multimedia formats
  • QCELP voice code
  • Apple Lossless (in version 6.5.1)

QuickTime 6.5.3 was released on October 12, 2005 for Mac OS X v10.2.8 after the release of QuickTime 7.0, fixing a number of security issues.

[edit] QuickTime 7.x

QuickTime 7 represents one of the largest architectural changes to the QuickTime lineage since its first version. Initially released on April 29, 2005 in conjunction with Mac OS X v10.4 (for version 10.3.9 and 10.4.x), QuickTime 7.0 featured the following:

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 is the first universal binary version.

[edit] Creating software that uses QuickTime

Developers can use the QuickTime software development kit to develop multimedia applications for Mac or Windows with the C programming language or with the Java programming language (see QuickTime for Java).

QuickTime consists of two major subsystems: the Movie Toolbox and the Image Compression Manager. The Movie Toolbox consists of a general API for handling time-based data, while the Image Compression Manager provides services for dealing with compressed raster data as produced by video and photo codecs.

QuickTime 7.0 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. The upcoming Mac OS X v10.5 will extend QTKit to full 64-bit support.


[edit] See also

[edit] External links

This article was started using a Wikipedia article
Personal tools
In other languages