Overview | Package | Class | Tree | Deprecated | Index | Help
| Copyright 2012-04-26 Werner Randelshofer
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES

## Package org.monte.media.quicktime

Provides media handlers for the QuickTime file format.

See:
Description

Class Summary
AbstractQuickTimeStream | This is the base class for low-level QuickTime stream IO.
AbstractQuickTimeStream.Chunk | Groups consecutive samples with the same sample description Id and with adjacent offsets in the movie file.
AbstractQuickTimeStream.Edit | An `Edit` define the portions of the media that are to be used to build up a track for a movie.
AbstractQuickTimeStream.Group | Groups consecutive samples with same characteristics.
AbstractQuickTimeStream.Sample | QuickTime stores media data in samples.
AbstractQuickTimeStream.SampleSizeGroup | Groups consecutive samples of the same size.
AbstractQuickTimeStream.TimeToSampleGroup | Groups consecutive smples of the same duration.
AnimationCodec | Implements the Apple Animation codec.
DataAtomInputStream | `DataAtomInputStream`.
DataAtomOutputStream | This output stream filter supports common data types used inside of a QuickTime Data Atom.
QuickTimeInputStream | Provides low-level support for reading encoded audio and video samples from a QuickTime file.
QuickTimeMultiplexer | `QuickTimeMultiplexer`.
QuickTimeOutputStream | This class provides low-level support for writing already encoded audio and video samples into a QuickTime file.
QuickTimePCMAudioCodec | `PCMAudioCodec` performs sign conversion, endian conversion and quantization conversion of PCM audio data.
QuickTimeReader | `QuickTimeReader`.
QuickTimeWriter | Supports writing of time-based video and audio data into a QuickTime movie file (.MOV) without the need of native code.
RawCodec | `RawCodec` encodes a BufferedImage as a byte[] array.

Enum Summary
AbstractQuickTimeStream.States | The states of the movie output stream.

## Package org.monte.media.quicktime Description

Provides media handlers for the QuickTime file format.

## Overview of the QuickTime movie file format

A QuickTime movie has a time dimension defined by a time scale and a duration. A movie always starts at time 0. The time scale defines the unit of measure for the movie's time value. The duration specifies how long the movie lasts.

     Movie time:      0   1   2   3   4   5   6   7    ...   20
                      +---+---+---+---+---+---+---+---+---+---+
     Movie time unit:          -->|   |<--                      For example: 1/60 sec.
     Movie duration:  <---------------------------------------> For example: 20 time units.

A movie can contain one or more tracks. Each track refers to a media that can be interpreted within the movie's time coordinate system. Each track begins at the beginning of the movie. However, a track can end at any time. In addition the media in the track may be offset from the beginning of the movie. Tracks with media that does not commence at the beginning of a movie start with an empty edit entry.

     Movie time:                0   1   2   3   4   5   6   7    ...   20
                                +---+---+---+---+---+---+---+---+---+---+
     Track 1 (movie video):     XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
     Track 2 (movie audio):     XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
     Track 3 (preview audio):   ----XXXXXXXXXXXXX
     Track 4 (poster graphics): ----X
                            -->|   |<-- track start time offset

A track is always associated with one media. The media contains control information that refers to the data that constitutes the track. Each media has its own time coordinate system, which defines the media's time scale and duration. A media's time coordinate system always starts at time 0, and it is independend of the time coordinate system of the movie that uses its data.

     Media 1 (movie video):     0 1 2 3 4 5 6 7                  ...   40
                                +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                                XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

     Media 2 (movie audio):     0  1  2  3  4  5  6  7           ...   23
                                +--+--+--+--+--+--+--+--+--+--+--+--+--+-
                                XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

     Media 3 (preview audio):   0  1  2
                                +--+--+
                                XXXXXXX

     Media 4 (poster graphics): 0
                                +
                                X

The track contains a list of references that identify portions of the media that are used in the track. In essence, this is an edit list of the media. Consequently a track can play the data in its media in any order and any number of times.

     Edit List 3 (preview audio):   0  1  2  3  4
                                    +--+--+--+--+
                                    ---abcccafgab

     Media 3 (preview audio):       0  1  2
                                    +--+--+
                                    abcdefg

A media describes the data for a track. The data is not actually stored in the media. Rather, the media contains references to its data. The data may reside in the movie file or in an external storage. The data referred to by the media may be used by more than one movie, though the media itself is not reused. If the data is stored in the movie, the samples of the media data can be interleaved with each other. Interleaving can occur after each sample, or after a chunk of samples.

     Media 1 to 4 interleaved data:  1112221112221112221113332224

For more information about the QuickTime file format see the "QuickTime File Format Specification", Apple Inc. 2010-08-03. (qtff) http://developer.apple.com/library/mac/documentation/QuickTime/QTFF/qtff.pdf

Version:
  $Id: package-info.java 151 2012-01-13 20:29:55Z werner $
Author:
  Werner Randelshofer

Overview | Package | Class | Tree | Deprecated | Index | Help
| Copyright 2012-04-26 Werner Randelshofer
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES