MP4 file format: Difference between revisions - Wikipedia


Article Images

Line 22:

| extended to =

| standard = ISO/IEC 14496-14

| open = No<ref name="loc" /><ref name="v2ed3">{{cite tech report |publisher=[[International Organization for Standardization|ISO]] |type=Standard |number=ISO/IEC 14496-14:2020 |title=Information technology – Coding of audio-visual objects – Part 14: MP4 file format |edition=3rd |date=January 2020 |url=https://www.iso.org/standard/79110.html |url-access=subscription}}</ref>

| open = No<ref>{{cite web |title=ISOBMFF source |url=https://github.com/mp4ra/mp4ra.github.io/issues/119}}</ref><ref>{{cite web |title=PIFF download link is 404 |url=https://github.com/MicrosoftDocs/iis-docs/issues/498}}</ref>

| free = No<ref name="loc">{{cite tech report |publisher=Library of Congress |location=Washington, D.C. |series=Sustainability of Digital Formats |type=Full draft |title=MPEG-4 File Format, Version 2 |date=225 MarchApril 20122023 |url=https://www.loc.gov/preservation/digital/formats/fdd/fdd000155.shtml |access-date=1323 DecemberFebruary 20212024}}</ref>

}}

'''MPEG-4 Part 14,''', or '''MP4,''', is a [[digital data|digital]] [[multimedia]] [[digital container format|container format]] most commonly used to store [[digital video|video]] and [[digital audio|audio]], but it can also be used to store other data such as [[subtitles]] and still images. Like most modern [[Container format (digital)|container formats]], it allows [[Streaming media|streaming]] over the [[Internet]]. The only [[filename extension]] for MPEG-4 Part 14 files as defined by the specification is '''.mp4'''. MPEG-4 Part 14 (formally '''[[International Organization for Standardization|ISO]]/[[International Electrotechnical Commission|IEC]] 14496-14:2003''') is a standard specified as a part of [[MPEG-4]].

[[Portable media player]]s are sometimes advertised as "[[MP4 player]]s", although some are simply [[MP3 player]]s that also play [[AMV video format|AMV video]] or some other video format and do not necessarily play the MPEG-4 Part 14 format.

Line 37:

| year = 2001

| access-date = 2009-06-14

| archive-date = 2009-08-28

}}</ref><ref name="mp4ra-org-references">{{cite web|url=http://mp4ra.org/#/references|title=References, MPEG-4 Registration authority|author=mp4ra.org - MP4 Registration authority|access-date=2018-08-29}}</ref><ref name="mpeg4part12">{{cite web

| archive-url = https://web.archive.org/web/20090828000723/http://developer.apple.com/standards/classicquicktime.html

| url-status = live

}}</ref><ref name="mp4ra-org-references">{{cite web|url=http://mp4ra.org/#/references|title=References, MPEG-4 Registration authority|author=mp4ra.org - MP4 Registration authority|access-date=2018-08-29|archive-date=2018-08-19|archive-url=https://web.archive.org/web/20180819085633/http://mp4ra.org/#/references|url-status=live}}</ref><ref name="mpeg4part12">{{cite web

| publisher=[[International Organization for Standardization]]

|website=Leonardo Chiariglione

Line 50 ⟶ 53:

| url = http://www.chiariglione.org/mpeg/technologies/mp04-ff/index.htm

| access-date = 2009-12-26 |archive-url = https://web.archive.org/web/20080115035235/http://www.chiariglione.org/mpeg/technologies/mp04-ff/index.htm |archive-date = 2008-01-15}}</ref><ref name="mpeg4part12--new">{{cite web

| publisher = [[International Organization for Standardization]]

|website = Leonardo Chiariglione

| title = = ISO Base Media File Format white paper - Proposal

| date = October 2009

| url = http://mpeg.chiariglione.org/technologies/mpeg-4/mp04-ff/index.htm

|access-date = 2014-10-31

| access-date = 2014-10-31 }}</ref><ref>{{cite web | url = https://images.apple.com/quicktime/pdf/MPEG4_v3.pdf | archive-url = https://web.archive.org/web/20141031153948/https://images.apple.com/quicktime/pdf/MPEG4_v3.pdf | archive-date = 2014-10-31 | title = MPEG-4 Fact Sheet | author = Apple Computer}}</ref> 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.<ref>{{Cite web |url=http://lists.apple.com/archives/Streaming-server-developers/2001/Dec/msg00016.html |title=RE: QT vs MPEG-4<!-- Bot generated title --> |access-date=2007-03-30 |archive-url=https://web.archive.org/web/20070510091152/http://lists.apple.com/archives/Streaming-server-developers/2001/Dec/msg00016.html |archive-date=2007-05-10 }}</ref> 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.<ref name="ISO-14496-14">{{cite web

|archive-date = 2021-04-29

|archive-url = https://web.archive.org/web/20210429224925/https://mpeg.chiariglione.org/technologies/mpeg-4/mp04-ff/index.htm

|url-status = live

| access-date = 2014-10-31 }}</ref><ref>{{cite web | url = https://images.apple.com/quicktime/pdf/MPEG4_v3.pdf | archive-url = https://web.archive.org/web/20141031153948/https://images.apple.com/quicktime/pdf/MPEG4_v3.pdf | archive-date = 2014-10-31 | title = MPEG-4 Fact Sheet | author = Apple Computer}}</ref> 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.<ref>{{Cite web |url=http://lists.apple.com/archives/Streaming-server-developers/2001/Dec/msg00016.html |title=RE: QT vs MPEG-4<!-- Bot generated title --> |access-date=2007-03-30 |archive-url=https://web.archive.org/web/20070510091152/http://lists.apple.com/archives/Streaming-server-developers/2001/Dec/msg00016.html |archive-date=2007-05-10 }}</ref> 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.<ref name="ISO-14496-14">{{cite web

| url = http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=38538

| author = International Organization for Standardization

Line 61 ⟶ 68:

| year = 2003

| access-date = 2009-06-11

| archive-date = 2016-10-10

| archive-url = https://web.archive.org/web/20161010071532/http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=38538

| url-status = live

}}</ref>

Line 69 ⟶ 79:

| year = 2001

| access-date = 2009-06-14

| archive-date = 2017-03-20

| archive-url = https://web.archive.org/web/20170320004230/http://www.digitalpreservation.gov/formats/fdd/fdd000037.shtml

| url-status = live

}}</ref><ref name="rfc4337">{{cite web

| url = http://tools.ietf.org/html/rfc4337#page-4

| author = Y. Lim
| author2 = D. Singer

| title = MIME Type Registration for MPEG-4
| website = RFC Editor

| year = 2006

| doi = 10.17487/RFC4337

| access-date = 2009-06-14

| archive-date = 2021-05-06

| archive-url = https://web.archive.org/web/20210506080808/https://tools.ietf.org/html/rfc4337#page-4

| url-status = live

}}</ref><ref name="ISO-14496-1">{{cite web

| url = http://www.iso.org/iso/iso_catalogue/catalogue_ics/catalogue_detail_ics.htm?csnumber=34903

Line 82 ⟶ 100:

| year = 2001

| access-date = 2009-06-11

| archive-date = 2016-08-19

| archive-url = https://web.archive.org/web/20160819064806/http://www.iso.org/iso/iso_catalogue/catalogue_ics/catalogue_detail_ics.htm?csnumber=34903

| url-status = live

}}</ref> 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.<ref name="digitalpreservation-ISO-14496-14-2003">{{cite web

| url = http://www.digitalpreservation.gov/formats/fdd/fdd000155.shtml

Line 88 ⟶ 109:

| year = 2003

| access-date = 2009-06-14

| archive-date = 2009-06-25

}}</ref><ref>{{cite web |url=http://mpeg.chiariglione.org/faq/mp4-sys/sys-faq-sys4gen.htm |title=MPEG-4 Systems General Issues |date=July 2001 |publisher=chiariglione.org |access-date=2010-04-11}}</ref> 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]], [[MJ2|and Motion JPEG 2000]]).<ref name="mp4ra-org-references" /><ref name="mpeg4part12-mp4">{{cite web

| archive-url = https://web.archive.org/web/20090625020706/http://www.digitalpreservation.gov/formats/fdd/fdd000155.shtml

| url-status = live

}}</ref><ref>{{cite web |url=http://mpeg.chiariglione.org/faq/mp4-sys/sys-faq-sys4gen.htm |title=MPEG-4 Systems General Issues |date=July 2001 |publisher=chiariglione.org |access-date=2010-04-11 |archive-date=2010-04-13 |archive-url=https://web.archive.org/web/20100413131035/http://mpeg.chiariglione.org/faq/mp4-sys/sys-faq-sys4gen.htm |url-status=live }}</ref> 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]], and [[MJ2|and Motion JPEG 2000]]).<ref name="mp4ra-org-references" /><ref name="mpeg4part12-mp4">{{cite web

| title = ISO/IEC 14496-12:2008, Information technology -- Coding of audio-visual objects -- Part 12: ISO base media file format

| website= International Organization for Standardization

Line 103 ⟶ 127:

| title = MPEG-4 Part 12: ISO base media file format; ISO/IEC 14496-12:2004

| year = 2004

| access-date = 2009-06-11 }}</ref>

| archive-date = 2016-08-19

| archive-url = https://web.archive.org/web/20160819065727/http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=38539

| url-status = live

}}</ref>

{| class="wikitable sortable"

Line 156 ⟶ 184:

| year = 2009

| access-date = 2009-06-15

| archive-date = 2009-10-24

| archive-url = https://web.archive.org/web/20091024094913/http://www.ftyps.com/mp4reg.html

| url-status = live

}}</ref> and some invented and used code-points are not registered.<ref name="ftyp">{{cite web

| url = http://www.ftyps.com/

Line 163 ⟶ 194:

| year = 2009

| access-date = 2009-06-15

| archive-date = 2018-01-21

| archive-url = https://web.archive.org/web/20180121071024/http://www.ftyps.com/

| url-status = live

}}</ref> 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 as 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.<ref name="mpeg4part12-mp4" />

Line 170 ⟶ 204:

* MPEG-4 files with audio and video generally use the standard {{Mono|.mp4}} extension.

* Audio-only MPEG-4 files generally have a {{Mono|.m4a}} extension. This is especially true of unprotected content.

** MPEG-4 files with audio streams encrypted by [[FairPlay]] [[Digitaldigital Rightsrights Managementmanagement]] as were sold through the [[iTunes Store]] use the {{Mono|.m4p}} extension. [[iTunes Plus]] tracks, that the iTunes Store currently sells, are unencrypted and use {{Mono|.m4a}} accordingly.

** [[Audiobook]] and [[podcast]] files, which also contain metadata including chapter markers, images, and hyperlinks, can use the extension {{Mono|.m4a}}, but more commonly use the {{Mono|.m4b}} extension.

**The Apple [[iPhone]] uses MPEG-4 audio for its ringtones but uses the {{Mono|.m4r}} extension rather than the {{Mono|.m4a}} extension.

* Raw [[MPEG-4 Visual]] bitstreams are named {{Mono|.m4v}} but this extension is also sometimes used for video in MP4 container format.<ref>[http://forum.doom9.org/showthread.php?s=&threadid=62723 Doom9's Forum, MP4 FAQ] {{Webarchive|url=https://web.archive.org/web/20060111204809/http://forum.doom9.org/showthread.php?s=&threadid=62723 |date=2006-01-11 }}, Retrieved on 2009-07-15</ref>

* [[Mobile phone]]s used to use [[3GP]]{{when?|date=October 2022}}, an implementation of MPEG-4 Part 12 (a.k.a. MPEG-4/JPEG2000 ISO Base Media file format), similar to MP4. It uses {{Mono|.3gp}} and {{Mono|.3g2}} extensions. These files also store non-MPEG-4 data ([[H.263]], [[Adaptive Multi-Rate audio codec|AMR]], [[MPEG-4 Part 17|TX3G]]). In practice, most (if not all) low end phones and feature phones recordrecorded in this format, as most (if not all) other mobile phones and [[smartphones]] record MP4 files using the .mp4 file extension, and some high end phones{{which|date=October 2020}} can record in [[Raw audio format|.raw]].<!--Does thisBy belongthe heretime sincethat it[[4G]] istechnology off-topic?--NR--><!--3gpwas iswidespread, similar3GP started to MP4be andphased registered H.263out, and AMRis fornow userarely in implementations of MPEG-4 Part 12seen. See http://www.mp4ra.org/codecs.html--><!--Is this maybe confused with RAW photo or lossless (i.e. FLAC) audio? Or maybe using third-party software?-->

==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),<ref>mp4ra.org - MP4 Registration authority, [http://mp4ra.org/#/codecs Registered Types - Codecs - ISO Code Points] {{Webarchive|url=https://web.archive.org/web/20190823155641/http://mp4ra.org/#/codecs |date=2019-08-23 }}, Retrieved on 2009-07-14.</ref> but most of them are not widely supported by MP4 players. The widely supported [[codecs]] and additional data streams are (but many more are also supported, including audio like flacFLAC or [[Dolby TrueHD|TrueHD]]):<ref>{{cite book|last1=Chapman|first1=Nigel|last2=Chapman|first2=Jenny|title=Digital multimedia|date=2004|publisher=Wiley|location=Chichester [u.a.]|isbn=978-0-470-85890-5|edition=2.|url-access=registration|url=https://archive.org/details/digitalmultimedi0000chap}}</ref><ref>{{Cite web |title=The 'MP4' Registration Authority |url=https://mp4ra.org/#/codecs |access-date=2023-08-31 |website=mp4ra.org |archive-date=2023-10-07 |archive-url=https://web.archive.org/web/20231007124717/https://mp4ra.org/#/codecs |url-status=live }}</ref>

* Video: [[High Efficiency Video Coding|MPEG-H Part 2 (H.265/HEVC)]], [[H.264/MPEG-4 AVC|MPEG-4 Part 10 (H.264/AVC)]] and, [[MPEG-4 Part 2]] and [[AV1]]<ref>{{Cite web |title=AV1 Codec ISO Media File Format Binding |url=https://aomediacodec.github.io/av1-isobmff/ |access-date=2024-04-27 |website=aomediacodec.github.io |archive-date=2024-04-05 |archive-url=https://web.archive.org/web/20240405193244/https://aomediacodec.github.io/av1-isobmff/ |url-status=live }}</ref>

: Other compression formats are less used: [[MPEG-2]] and [[MPEG-1]]

* Audio: [[Advanced Audio Coding|Advanced Audio Coding (AAC)]]

: Also [[MPEG-4 Part 3]] audio objects, such as [[Audio Lossless Coding]] (ALS), [[Scalable Lossless Coding]] (SLS), [[MP3]], [[MPEG-1 Audio Layer II]] (MP2), [[MPEG-1 Audio Layer I]] (MP1), [[CELP]], [[HVXC]] (speech), [[TwinVQ]], Text To Speech Interface (TTSI) and [[Structured Audio Orchestra Language]] (SAOL)

: Other compression formats are less used: [[Apple Lossless]], [[FLAC|Free Lossless Audio Codec]] (added in late 2018), and [[Opus (audio format)|Opus]] (added in late 2018) <ref>{{cite web |url=https://vfrmaniac.fushizen.eu/contents/opus_in_isobmff.html |title=Encapsulation of Opus in ISO Base Media File Format |date=2018-08-28 |access-date=2019-01-05 |archive-date=2019-01-06 |archive-url=https://web.archive.org/web/20190106204303/https://vfrmaniac.fushizen.eu/contents/opus_in_isobmff.html |url-status=live }}</ref>

* Subtitles: [[MPEG-4 Part 17|MPEG-4 Timed Text]] (also known as 3GPP Timed Text).

: [[Nero Digital]] uses [[DVD Video]] subtitles in MP4 files

The so-called '''moov atom''' contains information about video resolution, frame rates, orientation, display characteristics, and more. It might be placed at the beginning or end of the file. In the latter case, the video file is not playable if the file is incomplete (truncated).<ref>{{cite web |last1=JK |title=Das Moov Atom und wo es stehen sollte |url=https://jkdigital.de/moov-atom/ |website=JKdigital |language=de |date=25 January 2013 |access-date=11 August 2020 |archive-date=11 August 2020 |archive-url=https://web.archive.org/web/20200811143846/https://jkdigital.de/moov-atom/ |url-status=live }}</ref><ref>{{cite web |title=Fehlerhaft kopierte MP4-Datei reparieren |publisher=preamp.org |url=http://preamp.org/revenge/fehlerhaft-kopierte-mp4-datei-reparieren |language=de-DE |date=November 2013 |access-date=2020-08-11 |archive-date=2020-08-11 |archive-url=https://web.archive.org/web/20200811152527/http://preamp.org/revenge/fehlerhaft-kopierte-mp4-datei-reparieren |url-status=live }}</ref><ref>{{cite web |author=eZs3 media service |title=Checking Metadata or Moov Atom Location |url=https://www.ezs3.com/public/Checking_Metadata_or_Moov_Atom_Location.cfm |website=www.ezs3.com |access-date=11 August 2020 |date=1 March 2011 |archive-date=11 August 2020 |archive-url=https://web.archive.org/web/20200811204404/https://www.ezs3.com/public/Checking_Metadata_or_Moov_Atom_Location.cfm |url-status=live }}</ref><ref>{{cite web |last1=Levkov |first1=Maxim |title=Understanding the MPEG-4 movie atom {{!}} Adobe Developer Connection |url=https://www.adobe.com/devnet/video/articles/mp4_movie_atom.html |website=www.adobe.com |publisher=[[Adobe Inc.|Adobe]] Developer Network |access-date=11 August 2020 | archive-url=https://web.archive.org/web/20210130152901/https://www.adobe.com/devnet/video/articles/mp4_movie_atom.html | archive-date=2021-01-30}}</ref>

==Metadata==