Software development kits (SDKs) for QuickTime are available to the public with an Apple Developer Connection (ADC) subscription.
QuickTime is available free of charge for both Mac OS X and Windows operating systems. Some other free player applications that rely on the QuickTime framework provide features not available in the basic QuickTime Player. For example:
- iTunes can export audio in WAV, AIFF, MP3, AAC, and Apple Lossless.
- In Mac OS X, a simple AppleScript can be used to play a movie in full-screen mode.[4] However, since version 7.2 the QuickTime Player now also supports full-screen viewing in the non-pro version.[5]
[edit] QuickTime Pro
QuickTime Player is limited to only basic playback operations unless the user purchases a QuickTime Pro license key, which Apple sells for US$29.95. Apple's "Pro Applications" (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 and 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).[6] Use of the Pro key does not entail any additional downloads.Features enabled by the Pro license include, but are not limited to:
- Editing clips through the cut, copy and paste functions, merging separate audio and video tracks, and 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, Apple TV, and the iPhone.
- Saving existing QuickTime movies from the web directly to a hard disk drive. This is often, but not always, either hidden or intentionally blocked in the standard mode. It should be noted that two options exist for saving movies from a web browser:
- Save as source – This option will save the embedded video in its original format. (i.e., not limited to *.mov files.)
- Save as QuickTime movie – This option will save the embedded video in a *.mov file format no matter what the original container is/was.
[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.[7]
- A “component” plug-in architecture for supporting additional 3rd-party codecs (such as DivX).
Audio | Video | Picture |
---|---|---|
|
|
[edit] QuickTime file format
Filename extension | .mov |
---|---|
Internet media type | video/quicktime |
Type code | MooV |
Uniform Type Identifier | com.apple.quicktime-movie |
Developed by | Apple Inc. |
Type of format | Media container |
Container for | Audio, video, text |
Extended to | MPEG-4 Part 12 |
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 Matroska and Ogg 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-DIF, MP3, and MPEG program stream. With additional QuickTime Components, it can also support ASF, DivX Media Format, Flash Video, Matroska, Ogg, and many others.
[edit] QuickTime and MPEG-4
On February 11, 1998, the ISO approved the QuickTime file format as the basis of the MPEG-4 file format.[citation needed] The MPEG-4 file format specification was created on the basis of the QuickTime format specification published in 2001.[12] The MP4 (.mp4) file format was published in 2001 as the revision of the MPEG-4 Part 1: Systems specification published in 1999 (ISO/IEC 14496-1:2001).[13][14][15] In 2003, the first version of MP4 format was revised and replaced by MPEG-4 Part 14: MP4 file format (ISO/IEC 14496-14:2003).[16] The MP4 file format was generalized into the ISO Base Media File Format ISO/IEC 14496-12:2004, which defines a general structure for time-based media files. It in turn is used as the basis for other multimedia file formats (for example 3GP, Motion JPEG 2000).[17][18][19][20][21] A list of all registered extensions for ISO Base Media File Format is published on the official registration authority website www.mp4ra.org[edit] Profile support
QuickTime 6 added limited support for MPEG-4; specifically encoding and decoding using Simple Profile (SP). Advanced Simple Profile (ASP) features, like B-frames, were unsupported (in contrast with, for example, encoders such as XviD or 3ivx). QuickTime 7 supports the H.264 encoder and decoder.[23][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[24][25] 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[26]), while QuickTime's support for audio in the MP4 container is limited to stereo.[citation needed] Therefore multichannel audio must be re-encoded during MP4 export.[citation needed]
[edit] History
QuickTime platform compatibility | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||
|
[edit] QuickTime 1.x
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 run-length encoding and better suited cartoon-type images with large areas of flat color
- the Graphics codec, for 8-bit images, including ones that had undergone dithering
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 a limited set of instrument 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 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 Developers 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.
[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. Since the "Pro" features were the same as the existing features in QuickTime 2.5, any previous user of QuickTime could continue to use an older version of the central MoviePlayer application for the remaining lifespan of Mac OS to 2002; indeed, since these additional features were limited to MoviePlayer, any other QuickTime-compatible application remained unaffected.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).
[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. 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[27] 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.[28] It introduced features that most users now consider basic:[29]- 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.
- 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.[citation needed])
- 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.[32] 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:[33]
- MPEG-1 playback for Windows, and updated MPEG-1 Layer 3 audio support for all systems.
- Sorenson Video 3 playback and export[34] (added with the 5.0.2 update).[35]
- 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:[36]- 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.1 & 6.1.1 for Mac OS X v10.1 and Mac OS X v10.2 (released October 22, 2002)[38] and QuickTime 6.1 for Windows (released March 31, 2003)[39] offered ISO-Compliant MPEG-4 file creation and fixed the CAN-2003-0168
On June 3, 2003, Apple released QuickTime 6.3, delivering the following:[41]
- 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
- Addition of the Apple Pixlet codec (only for Mac OS X v10.3 and later)
- ColorSync support
- Integrated 3GPP
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
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:[44][45]- Improved MPEG-4 compliance
- An H.264/MPEG-4 AVC codec (does not support the AVCHD H.264 AVC format from HD camcorders)
- Support for Core Audio, a set of Application programming interfaces that supports high resolution sound and replaces Sound Manager[46]
- Support for using Core Image filters in Mac OS X v10.4 on live video (Not to be confused with Core Video)
- Support for Quartz Composer (.qtz) animations
- Support for distinct decode order and display order
- QuickTime Kit Framework (QTKit), a Cocoa framework for QuickTime
Apple dropped support for Windows 2000 with the release of QuickTime 7.2 on July 11, 2007.[48] The last version available for Windows 2000, 7.1.6, contains numerous security vulnerabilities.[49] References to this version have been removed from the QuickTime site, but it can be downloaded from Apple's support section.[50] 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.[51] 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 cannot 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 September 9, 2008, which requires Mac OS X v10.4 or higher, dropping 10.3 support. QuickTime 7.6 was released on January 21, 2009.
[edit] QuickTime X
This section may require copy-editing. |
QuickTime X includes visual chapters,[53] conversion, and sharing for YouTube and MobileMe, video editing,[54] capture of video and audio streams, screen recording,[55] GPU acceleration, and live streaming.[56]
The reason for the jump in numbering from 7 to 10 (X) was to indicate a similar break with the previous versions of the product that Mac OS X indicated. QuickTime X is fundamentally different from previous versions, in that it is provided as a Cocoa (Objective-C) framework and breaks compatibility with the previous QuickTime 7 C-based APIs that were previously used. QuickTime X was completely rewritten to implement modern audio video codecs in 64-bit. QuickTime X is a combination of two technologies: QuickTime Kit Framework (QTKit) and QuickTime X Player. QTKit is used by QuickTime player to display media. QuickTime X does not implement all of the functionality of the previous QuickTime as well as some of the codecs. When QuickTime X attempts to operate with a 32-bit codec or perform an operation not supported by QuickTime X, it will start a 32-bit helper process to perform the requested operation. The website Ars Technica revealed that QuickTime X uses QuickTime 7.x via QTKit to run older codecs that have not made the transition to 64-bit.[57]
QuickTime 7 may still be required to support older formats on Snow Leopard such as QTVR, interactive QuickTime movies, and MIDI files. In such cases, a compatible version of QuickTime 7 is included on Snow Leopard installation disc and may be installed side-by-side with QuickTime X. Users who have a Pro license for QuickTime 7 can then activate their license.[58]
A Snow Leopard-compatible version of QuickTime 7 may also be downloaded from Apple Support website.[59]
[edit] Creating software that uses QuickTime
[edit] QuickTime X
QuickTime X provides the QTKit Framework on Mac OS 10.6 and greater.[60][edit] Previous versions
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.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.[61]
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. The QTKit allows multiplexing between Quicktime X and Quicktime 7 behind the scenes so that the user need not worry about which version of Quicktime they need to use.
[edit] Bugs and vulnerabilities
QuickTime 7.4 was found to disable Adobe's video compositing program, After Effects.[62][63][64] This was due to the DRM built into version 7.4 since it allowed movie rentals from iTunes. QuickTime 7.4.1 resolved this issue.[65]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.[66] The bug was fixed in version 7.3.1.
Some versions of QuickTime prior to version 7.5.5 are known to be vulnerable to a cross-site scripting problem.[citation needed]
QuickTime 7.6 has been found to disable Macintosh users' ability to play certain games such as Civilization IV and The Sims 2. There are fixes available from the publisher, Aspyr.[67]
Quicktime 7 lacks support for H.264 Sample Aspect Ratio [68]. Quicktime X does not have this limitation; however, many Apple products (such as iTunes and Apple TV) still use the older Quicktime 7 engine.
http://en.wikipedia.org/wiki/Quicktime
05/18/10
No comments:
Post a Comment