Class ISO14496

Description

This class represents a file in ISO base media file format as described in ISO/IEC 14496 Part 12 standard.

The ISO Base Media File Format is designed to contain timed media information for a presentation in a flexible, extensible format that facilitates interchange, management, editing, and presentation of the media. This presentation may be local to the system containing the presentation, or may be via a network or other stream delivery mechanism.

The file structure is object-oriented; a file can be decomposed into constituent objects very simply, and the structure of the objects inferred directly from their type. The file format is designed to be independent of any particular network protocol while enabling efficient support for them in general.

The ISO Base Media File Format is a base format for media file formats.

An overall view of the normal encapsulation structure is provided in the following table.

The table shows those boxes that may occur at the top-level in the left-most column; indentation is used to show possible containment. Thus, for example, a Track Header Box is found in a Track Box, which is found in a Movie Box. Not all boxes need be used in all files; the mandatory boxes are marked with bold typeface. See the description of the individual boxes for a discussion of what must be assumed if the optional boxes are not present.

User data objects shall be placed only in Movie or Track Boxes, and objects using an extended type may be placed in a wide variety of containers, not just the top level.

There are two non-standard extensions to the ISO 14496 standard that add the ability to include file meta information. Both the boxes reside under moov.udta.meta.

Located in /ISO14496.php (line 248)

ISO14496_Box
   |
   --ISO14496
Method Summary
ISO14496 __construct (string $filename, [Array $options = array()])
void write ()
string __toString ([ $data = ""])
Variables

Inherited Variables

Inherited from ISO14496_Box

ISO14496_Box::$_reader
Methods
Constructor __construct (line 269)

Constructs the ISO14496 class with given file and options.

The following options are currently recognized:

  • base -- Indicates that only boxes with the given base path are parsed from the ISO base media file. Parsing all boxes can possibly have a significant impact on running time. Base path is a list of nested boxes separated by a dot.
or another source it cannot be written back to. The use of base option implies readonly option.

  • access: public
ISO14496 __construct (string $filename, [Array $options = array()])
  • string $filename: The path to the file or file descriptor of an opened file.
  • Array $options: The options array.

Redefinition of:
ISO14496_Box::__construct()
Constructs the class with given parameters and options.
write (line 289)

Writes the changes back to the original media file.

Please note: currently the method writes only ID32 and ILST boxes to moov.udta.meta. Changes to any other box are discarded. Write operation will overwrite moov.udta, if found.

  • access: public
void write ()
__toString (line 372)

Returns the raw data of the ISO14496 file.

  • access: public
string __toString ([ $data = ""])
  • $data

Redefinition of:
ISO14496_Box::__toString()
Returns the box raw data.

Inherited Methods

Inherited From ISO14496_Box

ISO14496_Box::__construct()
ISO14496_Box::addBox()
ISO14496_Box::constructBoxes()
ISO14496_Box::getBoxes()
ISO14496_Box::getBoxesByIdentifier()
ISO14496_Box::getContainer()
ISO14496_Box::getOffset()
ISO14496_Box::getOption()
ISO14496_Box::getOptions()
ISO14496_Box::getParent()
ISO14496_Box::getSize()
ISO14496_Box::getType()
ISO14496_Box::hasBox()
ISO14496_Box::isContainer()
ISO14496_Box::setContainer()
ISO14496_Box::setOffset()
ISO14496_Box::setOption()
ISO14496_Box::setOptions()
ISO14496_Box::setParent()
ISO14496_Box::setSize()
ISO14496_Box::setType()
ISO14496_Box::__get()
ISO14496_Box::__isset()
ISO14496_Box::__set()
ISO14496_Box::__toString()
ISO14496_Box::__unset()

Documentation generated on Fri, 05 Sep 2008 20:18:57 +0300 by phpDocumentor 1.4.1