Internet media type video/mp4 Type of format Media container | Type code mpg4 Container for Audio, video and text | |
![]() | ||
Filename extension .mp4, .m4a, .m4p, .m4b, .m4r and .m4v Developed by International Organization for Standardization |
MPEG-4 Part 14 or MP4 is a digital multimedia container format most commonly used to store video and audio, but can also be used to store other data such as subtitles and still images. Like most modern container formats, it allows streaming over the Internet. The only official filename extension for MPEG-4 Part 14 files is .mp4. MPEG-4 Part 14 (formally ISO/IEC 14496-14:2003) is a standard specified as a part of MPEG-4.
Contents
Some devices advertised as "MP4 Players" are simply MP3 Players that also play AMV video or some other video format, and do not necessarily play the MPEG-4 Part 14 format.
History of MP4
MPEG-4 Part 14 is an instance of the more general ISO/IEC 14496-12:2004 (MPEG-4 Part 12: ISO base media file format) which is directly based upon the QuickTime File Format. MPEG-4 Part 14 is essentially identical to the QuickTime file format, but formally specifies support for Initial Object Descriptors (IOD) and other MPEG features. MPEG-4 Part 14 revises and completely replaces Clause 13 of ISO/IEC 14496-1 (MPEG-4 Part 1: Systems), in which the file format for MPEG-4 content was previously specified.
The MPEG-4 file format specification was based on the QuickTime format specification published in 2001. The MPEG-4 file format, version 1 was published in 2001 as ISO/IEC 14496-1:2001, which is a revision of the MPEG-4 Part 1: Systems specification published in 1999 (ISO/IEC 14496-1:1999). In 2003, the first version of the MP4 file format was revised and replaced by MPEG-4 Part 14: MP4 file format (ISO/IEC 14496-14:2003), commonly named as MPEG-4 file format version 2. 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 file formats in the family (for example MP4, 3GP, Motion JPEG 2000).
The MP4 file format defined some extensions over the ISO Base Media File Format to support MPEG-4 visual/audio codecs and various MPEG-4 Systems features such as object descriptors and scene descriptions. Some of these extensions are also used by other formats based on ISO base media file format (e.g. 3GP). A list of all registered extensions for ISO Base Media File Format is published on the official registration authority website. The registration authority for code-points (identifier values) in "MP4 Family" files is Apple Inc. and it is named in Annex D (informative) in MPEG-4 Part 12. Codec designers should register the codes they invent, but the registration is not mandatory and some invented and used code-points are not registered. When someone is creating a new specification derived from the ISO Base Media File Format, all the existing specifications should be used both as examples and a source of definitions and technology. If an existing specification already covers how a particular media type is stored in the file format (e.g. MPEG-4 audio or video in MP4), that definition should be used and a new one should not be invented.
Filename extensions
While the only official filename extension defined by the standard is .mp4, various filename extensions are commonly used to indicate intended content:
.MP4 versus .M4A
M4A stands for MPEG 4 Audio and is a filename extension used to represent audio files.
The existence of two different filename extensions, .MP4 and .M4A, for naming audio-only MP4 files has been a source of confusion among users and multimedia playback software. Some file managers, such as Windows Explorer, look up the media type and associated applications of a file based on its filename extension. But since MPEG-4 Part 14 is a container format, MPEG-4 files may contain any number of audio, video, and even subtitle streams, making it impossible to determine the type of streams in an MPEG-4 file based on its filename extension alone. In response, Apple Inc. started using and popularizing the .m4a filename extension, which is used for MP4 containers with audio data in the lossy Advanced Audio Coding (AAC) or its own Apple Lossless (ALAC) formats. Software capable of audio/video playback should recognize files with either .m4a or .mp4 filename extensions, as would be expected, since there are no file format differences between the two. Most software capable of creating MPEG-4 audio will allow the user to choose the filename extension of the created MPEG-4 files.
Data streams
Most kinds of data can be embedded in MPEG-4 Part 14 files through private streams. A separate hint track is used to include streaming information in the file. The registered codecs for MPEG-4 Part 12-based files are published on the website of MP4 Registration authority (mp4ra.org), but most of them are not widely supported by MP4 players. The widely supported codecs and additional data streams are:
Metadata
MP4 files can contain metadata as defined by the format standard, and in addition, can contain Extensible Metadata Platform (XMP) metadata.