Citation bot (talk | contribs) Alter: template type. Removed parameters. | Use this bot. Report bugs. | Suggested by AManWithNoPlan | #UCB_webform 336/1563 |
updating per discussion https://wikipedia.org/wiki/Talk:ISO_base_media_file_format#RfC_on_whether_ISO_BMFF_is_an_open_format |
||
(42 intermediate revisions by 11 users not shown) | |||
Line 1: | Line 1: | ||
{{Short description|Multimedia container format}} |
{{Short description|Multimedia container format}} |
||
{{Infobox file format |
{{Infobox file format |
||
| name = ISO |
| name = ISO base media file format<br />(MPEG-4 Part 12) |
||
| icon = |
| icon = |
||
| logo = |
| logo = |
||
Line 10: | Line 10: | ||
| magic = |
| magic = |
||
| owner = [[International Organization for Standardization|ISO]], [[International Electrotechnical Commission|IEC]] |
| owner = [[International Organization for Standardization|ISO]], [[International Electrotechnical Commission|IEC]] |
||
| type = [[Container format (digital)|Container format]] |
| type = [[Container format (digital)|Container format]] |
||
| container for = Audio, video, text, data |
| container for = Audio, video, text, data |
||
| contained by = |
| contained by = |
||
Line 16: | Line 16: | ||
| extended to = [[MP4]], [[3GP]], 3G2, [[JPEG 2000#Motion JPEG 2000|.mj2]], .dvb, .dcf, .m21, [[Flash Video|.f4v]], [[HEIF]] |
| extended to = [[MP4]], [[3GP]], 3G2, [[JPEG 2000#Motion JPEG 2000|.mj2]], .dvb, .dcf, .m21, [[Flash Video|.f4v]], [[HEIF]] |
||
| standard = ISO/IEC 14496-12 |
| standard = ISO/IEC 14496-12 |
||
| url = {{URL|https://www.iso.org/standard/ |
| url = {{URL|https://www.iso.org/standard/83102.html}} |
||
| released = {{start date and age|2004|02|df=y}} |
| released = {{start date and age|2004|02|df=y}} |
||
| latest_release_version = ISO/IEC 14496-12: |
| latest_release_version = ISO/IEC 14496-12:2022 |
||
| latest_release_date = {{start date and age| |
| latest_release_date = {{start date and age|2022|01|df=y}} |
||
| open = No<ref name="loc" /><ref>{{cite web |title=MPEG-4 File Format, Version 2 |url=https://loc.gov/preservation/digital/formats/fdd/fdd000155}}</ref> |
|||
| open = Yes |
|||
| free = No<ref>{{cite |
| 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=ISO Base Media File Format |date=13 October 2021 |url=https://www.loc.gov/preservation/digital/formats/fdd/fdd000079.shtml |access-date = 27 February 2024}}</ref> |
||
}} |
}} |
||
'''ISO |
The '''ISO base media file format''' ('''ISOBMFF''') is a [[container file format]] that defines a general structure for files that contain time-based [[multimedia]] data such as video and audio.<ref name="iso-mpeg4part12">{{cite web |
||
| author = [[International Organization for Standardization|ISO]]/[[International Electrotechnical Commission|IEC]] |
| author = [[International Organization for Standardization|ISO]]/[[International Electrotechnical Commission|IEC]] |
||
| title = Information technology |
| title = Information technology – Coding of audio-visual objects – Part 12: ISO base media file format; ISO/IEC 14496-12:2008 |
||
| publisher = International Organization for Standardization/International Electrotechnical Commission |
| publisher = International Organization for Standardization/International Electrotechnical Commission |
||
| year = 2008 |
| year = 2008 |
||
Line 35: | Line 35: | ||
| url = https://www.iso.org/standard/38539.html |
| url = https://www.iso.org/standard/38539.html |
||
| author = ISO/IEC |
| author = ISO/IEC |
||
| title = Information technology |
| title = Information technology – Coding of audio-visual objects – Part 12: ISO base media file format; ISO/IEC 14496-12:2004 |
||
| |
| date = February 2004 |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
| access-date = 2017-10-19 }}</ref> |
| access-date = 2017-10-19 }}</ref> |
||
⚫ | |||
It is designed as a flexible, extensible format that facilitates interchange, management, editing and presentation of the media. The presentation may be local, or via a network or other stream delivery mechanism. The file format is designed to be independent of any particular network protocol while enabling support for them in general.<ref name="ISO-14496-12" /> |
It is designed as a flexible, extensible format that facilitates interchange, management, editing and presentation of the media. The presentation may be local, or via a network or other stream delivery mechanism. The file format is designed to be independent of any particular network protocol while enabling support for them in general.<ref name="ISO-14496-12" /> |
||
The format has become very widely used for media file storage and as the basis for various other media [[file format]]s (e.g. the [[MP4]] and [[3GP]] [[container format (digital)|container format]]s), and its widespread use was recognized by a [[Technology & Engineering Emmy Award]] presented on 4 November 2021 by the [[National Academy of Television Arts and Sciences]].<ref>{{cite web |url=https://www.iso.org/news/ref2624.html |title=ISO and IEC Experts Win Prestigious Emmy Award |date=2021-02-01 |website=[[International Organization for Standardization]]}}</ref><ref>{{cite web |url=https://www.iec.ch/blog/another-emmy-awarded-iec-and-iso-expert-group |title=Another EMMY awarded to IEC and ISO expert group |date=2021-11-05 |website=[[International Electrotechnical Commission]]}}</ref><ref>{{cite web |url=https://www.mpeg.org/meetings/mpeg-133/ |title=MPEG 133 Press release: MPEG Systems File Format Subgroup wins Technology & Engineering Emmy® Award |website=[[MPEG]] |date=2021-01-15}}</ref> |
|||
== History == |
== History == |
||
ISO |
The ISO base media file format is directly based on [[Apple Computer|Apple]]'s [[QuickTime File Format|QuickTime container format]].<ref name="mp4ra-org-references">{{cite web |
||
| url = http://www.mp4ra.org/specs.html |
| url = http://www.mp4ra.org/specs.html |
||
| author = mp4ra.org |
| author = mp4ra.org – MP4 Registration authority |
||
| title = References, MPEG-4 Registration authority |
| title = References, MPEG-4 Registration authority |
||
| access-date = 2009-07-29 |
| access-date = 2009-07-29 |
||
| archive-url = https:// |
| archive-url = https://web.archive.org/web/20120910081136/http://www.mp4ra.org/specs.html |
||
| archive-date = 2012- |
| archive-date = 2012-09-10 |
||
| url-status = dead |
| url-status = dead |
||
}}</ref><ref name="mpeg4part12">{{cite web |
}}</ref><ref name="mpeg4part12">{{cite web |
||
| author = [[International Organization for Standardization|ISO]]/[[International Electrotechnical Commission|IEC]] |
| author = [[International Organization for Standardization|ISO]]/[[International Electrotechnical Commission|IEC]] |
||
| title = ISO |
| title = ISO Base Media File Format white paper – Proposal |
||
| date = April 2006 |
| date = April 2006 |
||
| url = http://www.chiariglione.org/mpeg/technologies/mp04-ff/index.htm |
| url = http://www.chiariglione.org/mpeg/technologies/mp04-ff/index.htm |
||
| url-status = dead |
|||
| access-date = 2009-12-26 |archive-url = https://web.archive.org/web/20080714101745/http://www.chiariglione.org/mpeg/technologies/mp04-ff/index.htm |archive-date = 2008-07-14}}</ref><ref name="mpeg4part12--old">{{cite web |
| access-date = 2009-12-26 |archive-url = https://web.archive.org/web/20080714101745/http://www.chiariglione.org/mpeg/technologies/mp04-ff/index.htm |archive-date = 2008-07-14}}</ref><ref name="mpeg4part12--old">{{cite web |
||
| author = [[International Organization for Standardization|ISO]]/[[International Electrotechnical Commission|IEC]] |
| author = [[International Organization for Standardization|ISO]]/[[International Electrotechnical Commission|IEC]] |
||
Line 68: | Line 66: | ||
| 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 |
| 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 |
||
| author = [[International Organization for Standardization|ISO]]/[[International Electrotechnical Commission|IEC]] |
| author = [[International Organization for Standardization|ISO]]/[[International Electrotechnical Commission|IEC]] |
||
| title = ISO |
| title = ISO Base Media File Format white paper – Proposal |
||
| publisher = chiariglione.org |
| publisher = chiariglione.org |
||
| date = October 2009 |
| date = October 2009 |
||
Line 75: | Line 73: | ||
| url = http://www.digitalpreservation.gov/formats/fdd/fdd000079.shtml |
| url = http://www.digitalpreservation.gov/formats/fdd/fdd000079.shtml |
||
| author = Library of Congress |
| author = Library of Congress |
||
| title = ISO |
| title = ISO Base Media File Format |
||
| date = 2005-06-27 |
| date = 2005-06-27 |
||
| access-date = 2009-07-29 }}</ref> It was developed by [[MPEG]] ([[ISO/IEC |
| access-date = 2009-07-29 }}</ref> It was developed by [[MPEG]] (in [[ISO/IEC JTC 1/SC 29]], originally Working Group 11 MPEG, currently Working Group 3 MPEG Systems). The first MP4 file format specification was created on the basis of the QuickTime format specification published in 2001.<ref name="quicktime-format-2001">{{cite web |
||
| url = https://developer.apple.com/standards/classicquicktime.html |
| url = https://developer.apple.com/standards/classicquicktime.html |
||
| author = Apple Inc. |
| author = Apple Inc. |
||
Line 101: | Line 99: | ||
| year = 2001 |
| year = 2001 |
||
| access-date = 2009-07-29 |
| access-date = 2009-07-29 |
||
}}</ref> In 2003, the first version of MP4 file format was revised and replaced by MPEG-4 Part 14: MP4 file format (ISO/IEC 14496-14:2003), commonly known as MPEG-4 file format "version 2".<ref name="digitalpreservation-ISO-14496-14-2003">{{cite web |
}}</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 known 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 |
| url = http://www.digitalpreservation.gov/formats/fdd/fdd000155.shtml |
||
| author = Library of Congress |
| author = Library of Congress |
||
Line 107: | Line 105: | ||
| year = 2003 |
| year = 2003 |
||
| access-date = 2009-07-29 |
| access-date = 2009-07-29 |
||
}}</ref> |
|||
⚫ | |||
⚫ | The MP4 file format was generalized into the ISO base media file format (ISO/IEC 14496-12:2004 or ISO/IEC 15444-12:2004), which defines a general structure for time-based media files. It is used as the basis for other file formats in the family such as MP4, 3GP, and [[JPEG 2000#Motion JPEG 2000|Motion JPEG 2000]]).<ref name="mp4ra-org-references" /> |
||
Historically, the text was also published as ISO/IEC 15444-12 (JPEG 2000 Part 12), although the JPEG 2000 version of the standard was withdrawn in January 2017 since it was redundant with the MPEG-4 publication.<ref name="ISO-15444-12">{{cite web |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
{| class="wikitable sortable" |
{| class="wikitable sortable" |
||
|+MPEG-4 Part 12 / JPEG 2000 Part 12 editions |
|||
|+MPEG-4 Part 12 / JPEG 2000 Part 12 editions<ref name="mpeg-standards">{{cite web|url=http://mpeg.chiariglione.org/standards.htm |title=MPEG standards – Full list of standards developed or under development |author=MPEG |publisher=chiariglione.org |access-date=2009-10-31 |url-status=dead |archive-url=https://web.archive.org/web/20100420192552/http://mpeg.chiariglione.org/standards.htm |archive-date=2010-04-20 }}</ref> |
|||
|- |
|- |
||
! Edition |
! Edition |
||
Line 125: | Line 132: | ||
|- |
|- |
||
| Second edition |
| Second edition |
||
| 2005<ref>{{cite web | url=https://www.iso.org/standard/41828.html | title=ISO/IEC 14496-12:2005 – Information technology |
| 2005<ref>{{cite web | url=https://www.iso.org/standard/41828.html | title=ISO/IEC 14496-12:2005 – Information technology – Coding of audio-visual objects – Part 12: ISO base media file format | author=ISO/IEC | publisher=ISO/IEC | access-date=2017-10-19}}</ref><ref>{{cite web | url=https://www.iso.org/standard/41827.html | title=ISO/IEC 15444-12:2005 – Information technology – JPEG 2000 image coding system – Part 12: ISO base media file format | author=ISO/IEC | publisher=ISO/IEC |date=April 2005 | access-date=2017-10-19}}</ref> |
||
| 2008<ref>{{cite web |url=https://www.iso.org/standard/45534.html |title=ISO/IEC 14496-12:2005/Amd 2:2008 – Hint track format for ALC/LCT and FLUTE transmission and multiple meta box support |author=ISO/IEC |date=February 2008 |access-date=2022-05-05}}</ref> |
|||
| 2008 |
|||
| ISO/IEC 14496-12:2005, ISO/IEC 15444-12:2005 |
| ISO/IEC 14496-12:2005, ISO/IEC 15444-12:2005 |
||
| |
| |
||
|- |
|- |
||
| Third edition |
| Third edition |
||
| 2008<ref name="iso-mpeg4part12" /><ref>{{cite web | url=https://www.iso.org/standard/51533.html | title=ISO/IEC 14496-12:2008 – Information technology |
| 2008<ref name="iso-mpeg4part12" /><ref>{{cite web | url=https://www.iso.org/standard/51533.html | title=ISO/IEC 14496-12:2008 – Information technology – Coding of audio-visual objects – Part 12: ISO base media file format | author=ISO/IEC | publisher=ISO | date=October 2008 | access-date=2017-10-19}}</ref><ref>{{cite web | url=https://www.iso.org/standard/51537.html | title=ISO/IEC 15444-12:2008 – Information technology – JPEG 2000 image coding system – Part 12: ISO base media file format | author=ISO/IEC | publisher=ISO/IEC | access-date=2017-10-19}}</ref> |
||
| 2009<ref>{{cite web |url=https://www.iso.org/standard/52356.html |title=ISO/IEC 14496-12:2008/Amd 1:2009 – General improvements including hint tracks, metadata support and sample groups |author=ISO |access-date=2017-10-19}}</ref> |
| 2009<ref>{{cite web |url=https://www.iso.org/standard/52356.html |title=ISO/IEC 14496-12:2008/Amd 1:2009 – General improvements including hint tracks, metadata support and sample groups |author=ISO/IEC |date=November 2009 |access-date=2017-10-19}}</ref> |
||
| ISO/IEC 14496-12:2008, ISO/IEC 15444-12:2008 |
| ISO/IEC 14496-12:2008, ISO/IEC 15444-12:2008 |
||
| |
| |
||
|- |
|- |
||
| Fourth edition |
| Fourth edition |
||
| 2012<ref>{{cite web |url=https://www.iso.org/standard/61988.html |title=ISO/IEC 14496-12:2012 Information technology |
| 2012<ref>{{cite web |url=https://www.iso.org/standard/61988.html |title=ISO/IEC 14496-12:2012 Information technology – Coding of audio-visual objects – Part 12: ISO base media file format |author=ISO/IEC |date=2012-07-11 |access-date=2017-10-19}}</ref><ref>{{cite web |url=https://www.iso.org/standard/61989.html |title=ISO/IEC 15444-12:2012 Information technology – JPEG 2000 image coding system – Part 12: ISO base media file format |author=ISO/IEC |date=2012-07-11 |access-date=2017-10-19}}</ref> |
||
| 2015<ref>{{cite web |url=https://www.iso.org/standard/65272.html |title=ISO/IEC 14496-12:2012/Amd 3:2015 – Font streams and other improvements to file format |author=ISO/IEC |date=April 2015 |access-date=2022-05-05}}</ref> |
|||
⚫ | |||
| ISO/IEC 14496-12:2012, ISO/IEC 15444-12:2012 |
| ISO/IEC 14496-12:2012, ISO/IEC 15444-12:2012 |
||
| |
| |
||
|- |
|- |
||
| Fifth edition |
| Fifth edition |
||
| 2015<ref>{{cite web |url=https://www.iso.org/standard/68960.html |title=ISO/IEC 14496-12:2015 Information technology |
| 2015<ref>{{cite web |url=https://www.iso.org/standard/68960.html |title=ISO/IEC 14496-12:2015 Information technology – Coding of audio-visual objects – Part 12: ISO base media file format |author=ISO/IEC |date=December 2015 |access-date=2017-10-19}}</ref><ref name="ISO-15444-12:2015" >{{cite web |url=https://www.iso.org/standard/68963.html |title=ISO/IEC 15444-12:2015 Information technology – JPEG 2000 image coding system – Part 12: ISO base media file format |author=ISO/IEC |date=2015-11-25 |access-date=2017-10-19}}</ref> |
||
| 2018<ref>{{cite web |url=https://www.iso.org/en/contents/data/standard/07/18/71851.html |title=ISO/IEC 14496-12:2015/Amd 2:2018 – Support for image file format |author=ISO/IEC |date=February 2018 |access-date=2022-05-05}}</ref> |
|||
⚫ | |||
| ISO/IEC 14496-12:2015, ISO/IEC 15444-12:2015 |
| ISO/IEC 14496-12:2015, ISO/IEC 15444-12:2015 |
||
| |
| |
||
|- |
|||
| Sixth edition |
|||
⚫ | |||
⚫ | |||
| ISO/IEC 14496-12:2020 |
|||
| |
|||
|- |
|||
| Seventh edition |
|||
| 2022<ref>{{cite web |url=https://www.iso.org/standard/83102.html |title=ISO/IEC 14496-12:2015 Information technology – Coding of audio-visual objects – Part 12: ISO base media file format |author=ISO/IEC |date=January 2022 |access-date=2022-05-05}}</ref> |
|||
⚫ | |||
| ISO/IEC 14496-12:2022 |
|||
| |
|||
|} |
|} |
||
In January 2017, ISO/IEC 15444-12 was withdrawn in favor of ISO/IEC 14496-12:2015.<ref name="ISO-15444-12:2015" /> |
|||
== Extensions == |
== Extensions == |
||
[[File:Relations between ISO MP4 3GPP and 3GPP2 file format.svg|250px|thumb|right|Relations between ISO |
[[File:Relations between ISO MP4 3GPP and 3GPP2 file format.svg|250px|thumb|right|Relations between the ISO base media file format, MP4 file format, 3GPP file format and 3GPP2 file format. Based on the 3GPP2 technical specification published on 18 May 2007.<ref name="3gpp2-vs-3gpp" />]] |
||
The ISO |
The ISO base media file format is designed as an extensible file format. A list of all registered extensions for the ISO base media file format is published on the official registration authority website, www.mp4ra.org.<ref name=mp4ra/> 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.<ref name="mpeg4part12" /> Codec designers should register the codes they invent, but the registration is not mandatory<ref name="ftyp-mp4ra">{{cite web |
||
| url = http://www.ftyps.com/mp4reg.html |
| url = http://www.ftyps.com/mp4reg.html |
||
| author = Steven Greenberg |
| author = Steven Greenberg |
||
Line 165: | Line 182: | ||
| year = 2009 |
| year = 2009 |
||
| access-date = 2009-07-29 |
| access-date = 2009-07-29 |
||
}}</ref> When someone is creating a new specification derived from the ISO |
}}</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 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" /> |
||
[[Moving Picture Experts Group|MPEG]] has standardized a number of specifications extending the ISO |
[[Moving Picture Experts Group|MPEG]] has standardized a number of specifications extending the ISO base media file format: The MP4 file format (ISO/IEC 14496-14) defined some extensions over 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. The [[MPEG-4 Part 3]] (MPEG-4 Audio) standard also defined storage of some audio compression formats. Storage of MPEG-1/2 Audio ([[MP3]], [[MP2 (format)|MP2]], [[MP1]]) in the ISO base media file format was defined in ISO/IEC 14496-3:2001/Amd 3:2005.<ref name="ISO-14496-3-mpeg1-2">{{cite web |
||
| url = http://www.iso.org/iso/catalogue_detail.htm?csnumber=39584 |
| url = http://www.iso.org/iso/catalogue_detail.htm?csnumber=39584 |
||
| author = ISO/IEC |
| author = ISO/IEC |
||
Line 176: | Line 193: | ||
| url = http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=38573 |
| url = http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=38573 |
||
| author = International Organization for Standardization/International Electrotechnical Commission |
| author = International Organization for Standardization/International Electrotechnical Commission |
||
| title = Information technology |
| title = Information technology – Coding of audio-visual objects – Part 15: Advanced Video Coding (AVC) file format; ISO/IEC 14496-15:2004 |
||
| year = 2004 |
| year = 2004 |
||
| access-date = 2009-07-29 |
| access-date = 2009-07-29 |
||
}}</ref> The [[High Efficiency Image File Format]] (HEIF) is an image container format using the ISO |
}}</ref> The [[High Efficiency Image File Format]] (HEIF) is an image container format using the ISO base media file format as the basis. While HEIF can be used with any image compression format, it specifically includes the support for [[High Efficiency Video Coding|HEVC]] intra-coded images and HEVC-coded image sequences taking advantage of inter-picture prediction. |
||
Some of the above-mentioned MPEG standard extensions are used by other formats based on ISO |
Some of the above-mentioned MPEG standard extensions are used by other formats based on ISO base media file format (e.g. 3GP).<ref name="3gpp2-vs-3gpp">{{cite web |
||
|author = 3GPP2 |
|author = 3GPP2 |
||
|title = 3GPP2 C.S0050-B Version 1.0, 3GPP2 File Formats for Multimedia Services |
|title = 3GPP2 C.S0050-B Version 1.0, 3GPP2 File Formats for Multimedia Services |
||
Line 192: | Line 209: | ||
|archive-url = https://web.archive.org/web/20091007071048/http://www.3gpp2.org/Public_html/specs/C.S0050-B_v1.0_070521.pdf |
|archive-url = https://web.archive.org/web/20091007071048/http://www.3gpp2.org/Public_html/specs/C.S0050-B_v1.0_070521.pdf |
||
|archive-date = 7 October 2009 |
|archive-date = 7 October 2009 |
||
}}</ref> The 3GPP file format (.3gp) specification also defined extensions to support [[H.263]] video, [[AMR-NB]], [[AMR-WB]], [[AMR-WB+]] audio and [[3GPP Timed Text]] in files based on the ISO |
}}</ref> The 3GPP file format (.3gp) specification also defined extensions to support [[H.263]] video, [[AMR-NB]], [[AMR-WB]], [[AMR-WB+]] audio and [[3GPP Timed Text]] in files based on the ISO base media file format.<ref name="3gp-specification">{{cite web|author=ETSI 3GPP|url=http://www.3gpp.org/ftp/Specs/html-info/26244.htm|title=3GPP TS 26.244; Transparent end-to-end packet switched streaming service (PSS); 3GPP file format (3GP)|access-date=2009-07-29}}</ref> The 3GPP2 file format (.3g2) defined extensions for usage of [[EVRC]], [[Selectable Mode Vocoder|SMV]] or 13K ([[QCELP]]) voice compression formats.<ref name="3gpp2-vs-3gpp" /> The [[JPEG 2000]] specification (ISO/IEC 15444-3) defined usage of [[Motion JPEG 2000]] video compression and uncompressed audio ([[Pulse-code modulation|PCM]]) in the ISO base media file format (.mj2). The "DVB File Format" (.dvb) defined by DVB Project allowed storage of [[Digital Video Broadcasting|DVB]] services in the ISO base media file format. It allows the storage of audio, video and other content in any of three main ways: encapsulated in a [[MPEG transport stream]], stored as a reception hint track; encapsulated in an [[Real-time Transport Protocol|RTP]] stream, stored as a reception hint track or stored directly as media tracks.<ref>{{cite web|author=ETSI|date=2008-11-18|url=http://webapp.etsi.org/workprogram/Report_WorkItem.asp?WKI_ID=28812|title=ETSI TS 102 833 V1.1.1 (2008-11); Digital Video Broadcasting (DVB); File Format Specification for the Storage and Playback of DVB Services|access-date=2009-08-07}}</ref><ref>{{cite web|author=DVB Project|date=June 2008|url=http://www.dvb.org/technology/standards/a121.tm3904r3.ff0020r12.DVB_File_Format_Specification.pdf|title=DVB BlueBook A121 – File Format Specification for the Storage and Playback of DVB Services|access-date=2009-08-07}}</ref> The [[MPEG-21]] File Format (.m21, .mp21) defined the storage of an MPEG-21 [[Digital Item]] in the ISO base media file format, with some or all of its ancillary data (such as movies, images or other non-XML data) within the same file.<ref>{{cite web|author=ISO|date=April 2006|url=http://mpeg.chiariglione.org/technologies/mpeg-21/mp21-ff/index.htm|title=MPEG-21 File Format white paper – Proposal|publisher=chiariglione.org|access-date=2009-08-14}}</ref><ref>{{cite web |url=http://www.chiariglione.org/mpeg/technologies/mp21-ff/index.htm |author=ISO |title=MPEG-21 File Format white paper – Proposal |date=April 2006 |access-date=2009-12-28 |archive-url = https://web.archive.org/web/20080117150836/http://www.chiariglione.org/mpeg/technologies/mp21-ff/index.htm |url-status = dead |archive-date = 2008-01-17}}</ref> The [[OMA DRM]] Content Format (.dcf) specification from [[Open Mobile Alliance]] defined the content format for [[Digital rights management|DRM]] protected encrypted media objects and associated metadata.<ref>{{cite web|author=Open Mobile Alliance|date=2008-07-23|url=http://www.openmobilealliance.org/Technical/release_program/docs/CopyrightClick.aspx?pck=DRM&file=V2_0_2-20080723-A/OMA-TS-DRM_DCF-V2_0_2-20080723-A.pdf|title=DRM Content Format 2.0.2|access-date=2009-08-14}}</ref><ref>{{cite web|author=Open Mobile Alliance|date=2008-10-14|url=http://www.openmobilealliance.org/Technical/release_program/docs/copyrightclick.aspx?pck=DRM&file=V2_1-20081106-A/OMA-TS-DRM_DCF-V2_1-20081014-A.pdf|title=DRM Content Format 2.1|access-date=2009-08-14}}</ref> There are also other extensions, such as [[Internet Streaming Media Alliance|ISMA]] [[ISMACryp]] specification for encrypted/protected audio and video,<ref>{{cite web|author=[[Internet Streaming Media Alliance|ISMA]]|date=2007-11-15|url=http://www.isma.tv/specs/ISMA_E&Aspec2.0.pdf|title=ISMA Encryption and Authentication, Version 2.0|archive-url=https://web.archive.org/web/20130605224839/http://www.isma.tv/specs/ISMA_E%26Aspec2.0.pdf|archive-date=2013-06-05|access-date=2009-08-14}}</ref><ref>{{cite web|author=[[Internet Streaming Media Alliance|ISMA]]|date=2009|url=http://www.isma.tv/spec-request.html|title=ISMA Technical Specifications|archive-url=https://web.archive.org/web/20090910034756/http://www.isma.tv/spec-request.html|archive-date=2009-09-10|access-date=2009-08-14}}</ref> [[G.719]] audio compression specification,<ref>{{cite web|author=ITU-T|date=2009|url=http://www.itu.int/rec/T-REC-G.719/en|title=ITU-T Recommendation G.719|access-date=2009-08-14}}</ref> [[Dolby AC-3|AC3]] and [[E-AC-3]] audio compression,<ref>{{cite web|author=ETSI|date=2008-08-20|url=http://webapp.etsi.org/workprogram/Report_WorkItem.asp?WKI_ID=28541|title=TS 102 366 – Digital Audio Compression (AC-3, Enhanced AC-3) Standard|access-date=2009-08-14}}</ref> [[DTS audio]] compression,<ref>{{cite web|author=ETSI|date=2002-12-18|url=http://webapp.etsi.org/workprogram/Report_WorkItem.asp?WKI_ID=17715|title=TS 102 114 – DTS Coherent Acoustics; Core and Extensions – DTS specification|access-date=2009-08-14}}</ref> [[Dirac (codec)|Dirac]] video compression,<ref>{{cite web|author=Dirac Video Compression|date=2008-07-17|url=http://www.diracvideo.org/node/17|title=ISOM/MP4 registrations complete|access-date=2009-08-08}}</ref><ref>{{cite web|author=BBC|date=2008-07-16|url=http://www.diracvideo.org/download/mapping-specs/dirac-mapping-isom-latest.pdf|title=Encapsulation of Dirac in ISO Base Media file format derivatives|access-date=2009-08-08}}</ref> [[VC-1]] video compression specification and others, which are named on the MP4 Registration authority's website.<ref name=mp4ra>{{cite web |author=MP4 Registration authority |url=https://mp4ra.org/#/codecs |title=MP4 Registration Authority – Codecs |access-date=2021-09-08}}</ref> |
||
There are some extensions |
There are some extensions of the ISO base media file format that were not registered by the MP4 Registration authority. Adobe Systems introduced the F4V file format for [[Flash Video]] in 2007 and said it is based on the ISO base media file format. The F4V file format was not registered by the MP4 registration authority, but the F4V technical specification is publicly available. This format can contain H.264 video compression and MP3 or AAC audio compression. In addition, F4V file format can contain data corresponding to the [[Action Message Format|ActionScript Message Format]] and still frame of video data using image formats [[GIF]], JPEG and PNG.<ref name="ftyp" /><ref name="f4v">{{cite web|author=Adobe Systems Incorporated |title=Video File Format Specification, Version 10 |publisher=Adobe Systems Incorporated |date=18 May 2007 |url=https://www.adobe.com/devnet/flv/pdf/video_file_format_spec_v10.pdf |pages=17–44 |access-date=2009-08-03 |url-status=dead |archive-url=https://web.archive.org/web/20090206025343/http://www.adobe.com/devnet/flv/pdf/video_file_format_spec_v10.pdf |archive-date=February 6, 2009 }}</ref><ref name="kaourantin">{{cite web | publisher = Kaourantin.net | date = October 31, 2007 | author = Tinic Uro | url = http://www.kaourantin.net/2007/10/new-file-extensions-and-mime-types.html | title = New File Extensions and MIME Types | access-date = 2009-08-03 | url-status = dead | archive-url = https://web.archive.org/web/20100706004744/http://www.kaourantin.net/2007/10/new-file-extensions-and-mime-types.html | archive-date = July 6, 2010 }}</ref> |
||
Microsoft Corporation announced |
Microsoft Corporation announced a file format based on the ISO base media file format in 2009 called ISMV (Smooth Streaming format), also known as Protected Interoperable File Format (PIFF). As announced, this format can for example contain VC-1, [[Windows Media Audio|WMA]], H.264 and AAC compression formats.<ref name="ms">{{cite web |
||
| author = Microsoft Corporation |
| author = Microsoft Corporation |
||
| title = IIS Smooth Streaming Technical Overview |
| title = IIS Smooth Streaming Technical Overview |
||
Line 214: | Line 231: | ||
| format = PDF |
| format = PDF |
||
| pages = 1–32 |
| pages = 1–32 |
||
| access-date = 2010-08-03}}</ref><ref>{{cite web |url=http://learn.iis.net/page.aspx/941/smooth-streaming-primer#about_piff |title=About the Protected Interoperable File Format (PIFF) |author=John Deutscher |date=2010-08-16}}</ref> PIFF brand was registered by the MP4 registration authority in 2010. Some extensions used by this format (e.g. for WMA support) were not registered. Usage of WMA compression format in ISO |
| access-date = 2010-08-03}}</ref><ref>{{cite web |url=http://learn.iis.net/page.aspx/941/smooth-streaming-primer#about_piff |title=About the Protected Interoperable File Format (PIFF) |author=John Deutscher |date=2010-08-16}}</ref> PIFF brand was registered by the MP4 registration authority in 2010. Some extensions used by this format (e.g. for WMA support) were not registered. Usage of the WMA compression format in the ISO base media file format was not publicly documented.<ref>{{cite web |
||
| url = http://alexzambelli.com/blog/smooth-streaming-faq/ |
| url = http://alexzambelli.com/blog/smooth-streaming-faq/ |
||
| |
| first = Alex |
||
| last = Zambelli |
|||
| title = Smooth Streaming FAQ |
| title = Smooth Streaming FAQ |
||
| year = 2009 |
| year = 2009 |
||
Line 224: | Line 242: | ||
== Technical details == |
== Technical details == |
||
ISO |
The ISO base media file format includes timing, structure, and media information for timed sequences of media data, such as audio-visual presentations. The file structure is object-oriented. A file can be decomposed into basic objects very simply, and the structure of the objects is implied from their type. |
||
Files conforming to the ISO |
Files conforming to the ISO base media file format are formed as a series of objects, called "boxes". All data is contained in boxes, and there is no other data within the file. This includes any initial signature required by the specific file format. The "box" is an object-oriented building block defined by a unique type identifier and length. It was called an "atom" in some specifications (e.g. the first definition of the MP4 file format).<ref name="iso-mpeg4part12" /> |
||
A presentation (motion sequence) may be contained in several files. All timing and framing (position and size) information must be in the ISO base media file, and the ancillary files may essentially use any |
A presentation (motion sequence) may be contained in several files. All timing and framing (position and size) information must be in the ISO base media file, and the ancillary files may essentially use any format.<ref name="iso-mpeg4part12" /> |
||
=== File type box === |
=== File type box === |
||
In order to identify the specifications to which a file based on ISO |
In order to identify the specifications to which a file based on the ISO base media file format complies, "brands" are used as identifiers in the file format. These are set in a box named file type box ("ftyp"), which must be placed in the beginning of the file. It is somewhat analogous to the so-called [[fourcc]] code, used for a similar purpose for media embedded in [[Audio Video Interleave|AVI]] container format.<ref name="ftyp-def">{{cite web |
||
| url = http://www.ftyps.com/what.html |
| url = http://www.ftyps.com/what.html |
||
| author = Steven Greenberg |
| author = Steven Greenberg |
||
Line 237: | Line 255: | ||
| year = 2009 |
| year = 2009 |
||
| access-date = 2009-07-30 |
| access-date = 2009-07-30 |
||
}}</ref> A brand might indicate the type of encoding used, how the data of each encoding is stored, constraints and extensions that are applied to the file, the compatibility, or the intended usage of the file. Brands are a printable four-character codes. A file type box contains two kinds of brands. One is "major_brand", which identifies the specification of the best use for the file. It is followed by "minor_version", an informative 4-byte integer for the minor version of the major brand. The second kind of brand is "compatible_brands", which identifies multiple specifications to which the file complies. All files shall contain a file type box, but for compatibility reasons with an earlier version of the specification, files may be conformant to ISO/IEC base media file format and not contain a file type box. In that case they should be read as if they contained an ''ftyp'' with major and compatible brand "mp41" (MP4 v1 – ISO 14496-1, Chapter 13).<ref name="iso-mpeg4part12" /> |
}}</ref> A brand might indicate the type of encoding used, how the data of each encoding is stored, constraints and extensions that are applied to the file, the compatibility, or the intended usage of the file. Brands are a printable four-character codes. A file type box contains two kinds of brands. One is "major_brand", which identifies the specification of the best use for the file. It is followed by "minor_version", an informative 4-byte integer for the minor version of the major brand. The second kind of brand is "compatible_brands", which identifies multiple specifications to which the file complies. All files shall contain a file type box, but for compatibility reasons with an earlier version of the specification, files may be conformant to ISO/IEC base media file format and not contain a file type box. In that case they should be read as if they contained an ''ftyp'' with major and compatible brand "mp41" (MP4 v1 – ISO 14496-1, Chapter 13).<ref name="iso-mpeg4part12" /> Some in-use brands (ftyps) are not registered and can be found on some webpages.<ref name="ftyp" /> |
||
A multimedia file structured upon ISO/IEC base media file format may be compatible with more than one concrete specification, and it is therefore not always possible to speak of a single "type" or "brand" for the file. In this regard, the utility of the [[Multipurpose Internet Mail Extension]] type and file name extension is somewhat reduced. In spite of that, when a derived specification is written, a new file extension will be used, a new MIME type and a new Macintosh file type.<ref name="iso-mpeg4part12" /> |
A multimedia file structured upon ISO/IEC base media file format may be compatible with more than one concrete specification, and it is therefore not always possible to speak of a single "type" or "brand" for the file. In this regard, the utility of the [[Multipurpose Internet Mail Extension]] type and file name extension is somewhat reduced. In spite of that, when a derived specification is written, a new file extension will be used, a new MIME type and a new Macintosh file type.<ref name="iso-mpeg4part12" /> |
||
=== Streaming === |
=== Streaming === |
||
The ISO/IEC base media file format supports [[streaming media|streaming]] of media data over a network as well as local playback. A file that supports streaming includes information about the data units to stream (how to serve the [[elementary stream]] data in the file over streaming protocols). This information is placed in additional tracks of the file called "hint" tracks. Separate "hint" tracks for different protocols may be included within the same file. The media will play over all such protocols without making any additional copies or versions of the media data. Existing media can be easily made streamable for other specific protocols by the addition of appropriate hint tracks. The media data itself need not be reformatted in any way. The streams sent by the servers under the direction of the hint tracks, need contain no trace of file-specific information. When the presentation is played back locally (not streamed), the hint tracks may be ignored. Hint tracks may be created by an authoring tool or may be added to an existing file (presentation) by a hinting tool.<ref name="iso-mpeg4part12" /> In media authored for progressive download the '''moov''' box, which contains the index of frames, should precede the movie data '''mdat''' box.<ref name="From Google I/O 2009 – Mastering the Android Media Framework">{{YouTube|-0UmSQeWsJc|From Google I/O 2009 – Mastering the Android Media Framework}}.</ref> |
The ISO/IEC base media file format supports [[streaming media|streaming]] of media data over a network as well as local playback. A file that supports streaming includes information about the data units to stream (how to serve the [[elementary stream]] data in the file over streaming protocols). This information is placed in additional tracks of the file called "hint" tracks. Separate "hint" tracks for different protocols may be included within the same file. The media will play over all such protocols without making any additional copies or versions of the media data. Existing media can be easily made streamable for other specific protocols by the addition of appropriate hint tracks. The media data itself need not be reformatted in any way. The streams sent by the servers under the direction of the hint tracks, need contain no trace of file-specific information. When the presentation is played back locally (not streamed), the hint tracks may be ignored. Hint tracks may be created by an authoring tool or may be added to an existing file (presentation) by a hinting tool.<ref name="iso-mpeg4part12" /> In media authored for progressive download, the '''moov''' box, which contains the index of frames, should precede the movie data '''mdat''' box.<ref name="From Google I/O 2009 – Mastering the Android Media Framework">{{YouTube|-0UmSQeWsJc|From Google I/O 2009 – Mastering the Android Media Framework}}.</ref> |
||
== References == |
== References == |
||
{{Reflist}} |
{{Reflist}} |
||
Line 251: | Line 268: | ||
* {{IETF RFC|4281|link=no}} – The Codecs Parameter for "Bucket" Media Types |
* {{IETF RFC|4281|link=no}} – The Codecs Parameter for "Bucket" Media Types |
||
* {{cite web|url= |
* {{cite web|url=http://standards.iso.org/ittf/PubliclyAvailableStandards/c068960_ISO_IEC_14496-12_2015.zip|title=ISO/IEC 14496-12:2015 - Information technology – Coding of audio-visual objects – Part 12: ISO base media file format (download) |publisher=iso.org |date=2015-12-01 |access-date=2018-03-28}} |
||
⚫ | |||
* {{cite web |url=https://mp4ra.org/#/codecs |title=The 'MP4' Registration Authority |publisher=Mp4ra.org |access-date=2021-09-08 }} |
* {{cite web |url=https://mp4ra.org/#/codecs |title=The 'MP4' Registration Authority |publisher=Mp4ra.org |access-date=2021-09-08 }} |
||
* {{cite web|url=http://www.3gpp.org/ftp/Specs/html-info/26244.htm |title=3GPP specification: 26.244 |publisher=3gpp.org |access-date=2009-10-18}} |
* {{cite web|url=http://www.3gpp.org/ftp/Specs/html-info/26244.htm |title=3GPP specification: 26.244 |publisher=3gpp.org |access-date=2009-10-18}} |
||
* {{cite web |url=http://www.3gpp2.org/Public_html/specs/C.S0050-B_v1.0_070521.pdf |title=File Format for Multimedia Services |access-date=2009-10-18 |url-status=dead |archive-url=https://web.archive.org/web/20091007071048/http://www.3gpp2.org/Public_html/specs/C.S0050-B_v1.0_070521.pdf |archive-date=2009-10-07 }} |
* {{cite web |url=http://www.3gpp2.org/Public_html/specs/C.S0050-B_v1.0_070521.pdf |title=File Format for Multimedia Services |access-date=2009-10-18 |url-status=dead |archive-url=https://web.archive.org/web/20091007071048/http://www.3gpp2.org/Public_html/specs/C.S0050-B_v1.0_070521.pdf |archive-date=2009-10-07 }} |
||
* {{cite web|url=http://www.ftyps.com/ |title=Complete List of all known MP4/QT 'ftyp' designations |publisher=Ftyps.com |access-date=2009-10-18}} |
* {{cite web|url=http://www.ftyps.com/ |title=Complete List of all known MP4/QT 'ftyp' designations |publisher=Ftyps.com |access-date=2009-10-18}} |
||
* {{cite web|url= |
* {{cite web|url=https://mpeg.chiariglione.org/standards/mpeg-4/iso-base-media-file-format |title=ISO Base Media File Format |publisher=Chiariglione.org |access-date=2022-05-05}} |
||
{{Compression formats}} |
{{Compression formats}} |
Latest revision as of 16:04, 18 March 2024
Developed by | ISO, IEC |
---|---|
Initial release | February 2004 |
Latest release | ISO/IEC 14496-12:2022 January 2022 |
Type of format | Container format |
Container for | Audio, video, text, data |
Extended from | QuickTime File Format |
Extended to | MP4, 3GP, 3G2, .mj2, .dvb, .dcf, .m21, .f4v, HEIF |
Standard | ISO/IEC 14496-12 |
Open format? | No[1][2] |
Free format? | No[1] |
Website | www |
The ISO base media file format (ISOBMFF) is a container file format that defines a general structure for files that contain time-based multimedia data such as video and audio.[3][4] It is standardized in ISO/IEC 14496-12, a.k.a. MPEG-4 Part 12, and was formerly also published as ISO/IEC 15444-12, a.k.a. JPEG 2000 Part 12.
It is designed as a flexible, extensible format that facilitates interchange, management, editing and presentation of the media. The presentation may be local, or via a network or other stream delivery mechanism. The file format is designed to be independent of any particular network protocol while enabling support for them in general.[4]
The format has become very widely used for media file storage and as the basis for various other media file formats (e.g. the MP4 and 3GP container formats), and its widespread use was recognized by a Technology & Engineering Emmy Award presented on 4 November 2021 by the National Academy of Television Arts and Sciences.[5][6][7]
History
The ISO base media file format is directly based on Apple's QuickTime container format.[8][9][10][11][12] It was developed by MPEG (in ISO/IEC JTC 1/SC 29, originally Working Group 11 MPEG, currently Working Group 3 MPEG Systems). The first MP4 file format specification was created on the basis of the QuickTime format specification published in 2001.[13] The MP4 file format known as "version 1" was published in 2001 as ISO/IEC 14496-1:2001, as revision of the MPEG-4 Part 1: Systems.[14][15][16] 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 known as MPEG-4 file format "version 2".[17]
The MP4 file format was generalized into the ISO base media file format (ISO/IEC 14496-12:2004 or ISO/IEC 15444-12:2004), which defines a general structure for time-based media files. It is used as the basis for other file formats in the family such as MP4, 3GP, and Motion JPEG 2000).[8]
Historically, the text was also published as ISO/IEC 15444-12 (JPEG 2000 Part 12), although the JPEG 2000 version of the standard was withdrawn in January 2017 since it was redundant with the MPEG-4 publication.[18][19]
Edition | Release date | Latest amendment | Standard | Description |
---|---|---|---|---|
First edition | 2004[4] | ISO/IEC 14496-12:2004, ISO/IEC 15444-12:2004 | ||
Second edition | 2005[20][21] | 2008[22] | ISO/IEC 14496-12:2005, ISO/IEC 15444-12:2005 | |
Third edition | 2008[3][23][24] | 2009[25] | ISO/IEC 14496-12:2008, ISO/IEC 15444-12:2008 | |
Fourth edition | 2012[26][27] | 2015[28] | ISO/IEC 14496-12:2012, ISO/IEC 15444-12:2012 | |
Fifth edition | 2015[29][19] | 2018[30] | ISO/IEC 14496-12:2015, ISO/IEC 15444-12:2015 | |
Sixth edition | 2020[31] | ISO/IEC 14496-12:2020 | ||
Seventh edition | 2022[32] | ISO/IEC 14496-12:2022 |
Extensions
The ISO base media file format is designed as an extensible file format. A list of all registered extensions for the ISO base media file format is published on the official registration authority website, www.mp4ra.org.[34] 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.[9] Codec designers should register the codes they invent, but the registration is not mandatory[35] and some of invented and used code-points are not registered.[36] 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.[9]
MPEG has standardized a number of specifications extending the ISO base media file format: The MP4 file format (ISO/IEC 14496-14) defined some extensions over 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. The MPEG-4 Part 3 (MPEG-4 Audio) standard also defined storage of some audio compression formats. Storage of MPEG-1/2 Audio (MP3, MP2, MP1) in the ISO base media file format was defined in ISO/IEC 14496-3:2001/Amd 3:2005.[37] The Advanced Video Coding (AVC) file format (ISO/IEC 14496-15) defined support for H.264/MPEG-4 AVC video compression.[38] The High Efficiency Image File Format (HEIF) is an image container format using the ISO base media file format as the basis. While HEIF can be used with any image compression format, it specifically includes the support for HEVC intra-coded images and HEVC-coded image sequences taking advantage of inter-picture prediction.
Some of the above-mentioned MPEG standard extensions are used by other formats based on ISO base media file format (e.g. 3GP).[33] The 3GPP file format (.3gp) specification also defined extensions to support H.263 video, AMR-NB, AMR-WB, AMR-WB+ audio and 3GPP Timed Text in files based on the ISO base media file format.[39] The 3GPP2 file format (.3g2) defined extensions for usage of EVRC, SMV or 13K (QCELP) voice compression formats.[33] The JPEG 2000 specification (ISO/IEC 15444-3) defined usage of Motion JPEG 2000 video compression and uncompressed audio (PCM) in the ISO base media file format (.mj2). The "DVB File Format" (.dvb) defined by DVB Project allowed storage of DVB services in the ISO base media file format. It allows the storage of audio, video and other content in any of three main ways: encapsulated in a MPEG transport stream, stored as a reception hint track; encapsulated in an RTP stream, stored as a reception hint track or stored directly as media tracks.[40][41] The MPEG-21 File Format (.m21, .mp21) defined the storage of an MPEG-21 Digital Item in the ISO base media file format, with some or all of its ancillary data (such as movies, images or other non-XML data) within the same file.[42][43] The OMA DRM Content Format (.dcf) specification from Open Mobile Alliance defined the content format for DRM protected encrypted media objects and associated metadata.[44][45] There are also other extensions, such as ISMA ISMACryp specification for encrypted/protected audio and video,[46][47] G.719 audio compression specification,[48] AC3 and E-AC-3 audio compression,[49] DTS audio compression,[50] Dirac video compression,[51][52] VC-1 video compression specification and others, which are named on the MP4 Registration authority's website.[34]
There are some extensions of the ISO base media file format that were not registered by the MP4 Registration authority. Adobe Systems introduced the F4V file format for Flash Video in 2007 and said it is based on the ISO base media file format. The F4V file format was not registered by the MP4 registration authority, but the F4V technical specification is publicly available. This format can contain H.264 video compression and MP3 or AAC audio compression. In addition, F4V file format can contain data corresponding to the ActionScript Message Format and still frame of video data using image formats GIF, JPEG and PNG.[36][53][54] Microsoft Corporation announced a file format based on the ISO base media file format in 2009 called ISMV (Smooth Streaming format), also known as Protected Interoperable File Format (PIFF). As announced, this format can for example contain VC-1, WMA, H.264 and AAC compression formats.[55] Microsoft published a Protected Interoperable File Format (PIFF) specification in 2010. It defined another usage of multiple encryption and DRM systems in a single file container.[56][57] PIFF brand was registered by the MP4 registration authority in 2010. Some extensions used by this format (e.g. for WMA support) were not registered. Usage of the WMA compression format in the ISO base media file format was not publicly documented.[58]
Technical details
The ISO base media file format includes timing, structure, and media information for timed sequences of media data, such as audio-visual presentations. The file structure is object-oriented. A file can be decomposed into basic objects very simply, and the structure of the objects is implied from their type.
Files conforming to the ISO base media file format are formed as a series of objects, called "boxes". All data is contained in boxes, and there is no other data within the file. This includes any initial signature required by the specific file format. The "box" is an object-oriented building block defined by a unique type identifier and length. It was called an "atom" in some specifications (e.g. the first definition of the MP4 file format).[3]
A presentation (motion sequence) may be contained in several files. All timing and framing (position and size) information must be in the ISO base media file, and the ancillary files may essentially use any format.[3]
File type box
In order to identify the specifications to which a file based on the ISO base media file format complies, "brands" are used as identifiers in the file format. These are set in a box named file type box ("ftyp"), which must be placed in the beginning of the file. It is somewhat analogous to the so-called fourcc code, used for a similar purpose for media embedded in AVI container format.[59] A brand might indicate the type of encoding used, how the data of each encoding is stored, constraints and extensions that are applied to the file, the compatibility, or the intended usage of the file. Brands are a printable four-character codes. A file type box contains two kinds of brands. One is "major_brand", which identifies the specification of the best use for the file. It is followed by "minor_version", an informative 4-byte integer for the minor version of the major brand. The second kind of brand is "compatible_brands", which identifies multiple specifications to which the file complies. All files shall contain a file type box, but for compatibility reasons with an earlier version of the specification, files may be conformant to ISO/IEC base media file format and not contain a file type box. In that case they should be read as if they contained an ftyp with major and compatible brand "mp41" (MP4 v1 – ISO 14496-1, Chapter 13).[3] Some in-use brands (ftyps) are not registered and can be found on some webpages.[36]
A multimedia file structured upon ISO/IEC base media file format may be compatible with more than one concrete specification, and it is therefore not always possible to speak of a single "type" or "brand" for the file. In this regard, the utility of the Multipurpose Internet Mail Extension type and file name extension is somewhat reduced. In spite of that, when a derived specification is written, a new file extension will be used, a new MIME type and a new Macintosh file type.[3]
Streaming
The ISO/IEC base media file format supports streaming of media data over a network as well as local playback. A file that supports streaming includes information about the data units to stream (how to serve the elementary stream data in the file over streaming protocols). This information is placed in additional tracks of the file called "hint" tracks. Separate "hint" tracks for different protocols may be included within the same file. The media will play over all such protocols without making any additional copies or versions of the media data. Existing media can be easily made streamable for other specific protocols by the addition of appropriate hint tracks. The media data itself need not be reformatted in any way. The streams sent by the servers under the direction of the hint tracks, need contain no trace of file-specific information. When the presentation is played back locally (not streamed), the hint tracks may be ignored. Hint tracks may be created by an authoring tool or may be added to an existing file (presentation) by a hinting tool.[3] In media authored for progressive download, the moov box, which contains the index of frames, should precede the movie data mdat box.[60]
References
- ^ a b ISO Base Media File Format (Full draft). Sustainability of Digital Formats. Washington, D.C.: Library of Congress. 13 October 2021. Retrieved 27 February 2024.
- ^ "MPEG-4 File Format, Version 2".
- ^ a b c d e f g ISO/IEC (2008). "Information technology – Coding of audio-visual objects – Part 12: ISO base media file format; ISO/IEC 14496-12:2008" (PDF). International Organization for Standardization/International Electrotechnical Commission. pp. 88, 94. Retrieved 2009-07-29.
- ^ a b c ISO/IEC (February 2004). "Information technology – Coding of audio-visual objects – Part 12: ISO base media file format; ISO/IEC 14496-12:2004". Retrieved 2017-10-19.
- ^ "ISO and IEC Experts Win Prestigious Emmy Award". International Organization for Standardization. 2021-02-01.
- ^ "Another EMMY awarded to IEC and ISO expert group". International Electrotechnical Commission. 2021-11-05.
- ^ "MPEG 133 Press release: MPEG Systems File Format Subgroup wins Technology & Engineering Emmy® Award". MPEG. 2021-01-15.
- ^ a b mp4ra.org – MP4 Registration authority. "References, MPEG-4 Registration authority". Archived from the original on 2012-09-10. Retrieved 2009-07-29.
{{cite web}}
: CS1 maint: numeric names: authors list (link) - ^ a b c ISO/IEC (April 2006). "ISO Base Media File Format white paper – Proposal". Archived from the original on 2008-07-14. Retrieved 2009-12-26.
- ^ ISO/IEC (October 2005). "MPEG-4 File Formats white paper – Proposal". Archived from the original on 2008-01-15. Retrieved 2009-12-26.
- ^ ISO/IEC (October 2009). "ISO Base Media File Format white paper – Proposal". chiariglione.org. Retrieved 2009-12-26.
- ^ Library of Congress (2005-06-27). "ISO Base Media File Format". Retrieved 2009-07-29.
- ^ Apple Inc. (2001). "Classic Version of the QuickTime File Format Specification". Retrieved 2009-07-29.
- ^ Library of Congress (2001). "MPEG-4 File Format, Version 1". Retrieved 2009-07-29.
- ^ Network Working Group (2006). "MIME Type Registration for MPEG-4". Retrieved 2009-07-29.
- ^ International Organization for Standardization/International Electrotechnical Commission (2001). "MPEG-4 Part 1: Systems; ISO/IEC 14496-1:2001". Retrieved 2009-07-29.
- ^ Library of Congress (2003). "MPEG-4 File Format, Version 2". Retrieved 2009-07-29.
- ^ ISO/IEC (2004). "Information technology – JPEG 2000 image coding system – Part 12: ISO base media file format; ISO/IEC 15444-12:2004". Retrieved 2017-10-19.
- ^ a b ISO/IEC (2015-11-25). "ISO/IEC 15444-12:2015 Information technology – JPEG 2000 image coding system – Part 12: ISO base media file format". Retrieved 2017-10-19.
- ^ ISO/IEC. "ISO/IEC 14496-12:2005 – Information technology – Coding of audio-visual objects – Part 12: ISO base media file format". ISO/IEC. Retrieved 2017-10-19.
- ^ ISO/IEC (April 2005). "ISO/IEC 15444-12:2005 – Information technology – JPEG 2000 image coding system – Part 12: ISO base media file format". ISO/IEC. Retrieved 2017-10-19.
- ^ ISO/IEC (February 2008). "ISO/IEC 14496-12:2005/Amd 2:2008 – Hint track format for ALC/LCT and FLUTE transmission and multiple meta box support". Retrieved 2022-05-05.
- ^ ISO/IEC (October 2008). "ISO/IEC 14496-12:2008 – Information technology – Coding of audio-visual objects – Part 12: ISO base media file format". ISO. Retrieved 2017-10-19.
- ^ ISO/IEC. "ISO/IEC 15444-12:2008 – Information technology – JPEG 2000 image coding system – Part 12: ISO base media file format". ISO/IEC. Retrieved 2017-10-19.
- ^ ISO/IEC (November 2009). "ISO/IEC 14496-12:2008/Amd 1:2009 – General improvements including hint tracks, metadata support and sample groups". Retrieved 2017-10-19.
- ^ ISO/IEC (2012-07-11). "ISO/IEC 14496-12:2012 Information technology – Coding of audio-visual objects – Part 12: ISO base media file format". Retrieved 2017-10-19.
- ^ ISO/IEC (2012-07-11). "ISO/IEC 15444-12:2012 Information technology – JPEG 2000 image coding system – Part 12: ISO base media file format". Retrieved 2017-10-19.
- ^ ISO/IEC (April 2015). "ISO/IEC 14496-12:2012/Amd 3:2015 – Font streams and other improvements to file format". Retrieved 2022-05-05.
- ^ ISO/IEC (December 2015). "ISO/IEC 14496-12:2015 Information technology – Coding of audio-visual objects – Part 12: ISO base media file format". Retrieved 2017-10-19.
- ^ ISO/IEC (February 2018). "ISO/IEC 14496-12:2015/Amd 2:2018 – Support for image file format". Retrieved 2022-05-05.
- ^ ISO/IEC (December 2020). "ISO/IEC 14496-12:2020 Information technology – Coding of audio-visual objects – Part 12: ISO base media file format". Retrieved 2022-05-05.
- ^ ISO/IEC (January 2022). "ISO/IEC 14496-12:2015 Information technology – Coding of audio-visual objects – Part 12: ISO base media file format". Retrieved 2022-05-05.
- ^ a b c 3GPP2 (18 May 2007). "3GPP2 C.S0050-B Version 1.0, 3GPP2 File Formats for Multimedia Services" (PDF). 3GPP2. pp. 67, 68. Archived from the original (PDF) on 7 October 2009. Retrieved 2009-07-29.
{{cite web}}
: CS1 maint: numeric names: authors list (link) - ^ a b MP4 Registration authority. "MP4 Registration Authority – Codecs". Retrieved 2021-09-08.
{{cite web}}
: CS1 maint: numeric names: authors list (link) - ^ Steven Greenberg (2009). "Registration of ftyp's". Retrieved 2009-07-29.
- ^ a b c Steven Greenberg (2009). "Complete List of all known MP4 / QuickTime 'ftyp' designations". Retrieved 2009-07-29.
- ^ ISO/IEC (2005). "MPEG-1/2 audio in MPEG-4, ISO/IEC 14496-3:2001/Amd 3:2005". Retrieved 2009-10-12.
- ^ International Organization for Standardization/International Electrotechnical Commission (2004). "Information technology – Coding of audio-visual objects – Part 15: Advanced Video Coding (AVC) file format; ISO/IEC 14496-15:2004". Retrieved 2009-07-29.
- ^ ETSI 3GPP. "3GPP TS 26.244; Transparent end-to-end packet switched streaming service (PSS); 3GPP file format (3GP)". Retrieved 2009-07-29.
{{cite web}}
: CS1 maint: numeric names: authors list (link) - ^ ETSI (2008-11-18). "ETSI TS 102 833 V1.1.1 (2008-11); Digital Video Broadcasting (DVB); File Format Specification for the Storage and Playback of DVB Services". Retrieved 2009-08-07.
- ^ DVB Project (June 2008). "DVB BlueBook A121 – File Format Specification for the Storage and Playback of DVB Services" (PDF). Retrieved 2009-08-07.
- ^ ISO (April 2006). "MPEG-21 File Format white paper – Proposal". chiariglione.org. Retrieved 2009-08-14.
- ^ ISO (April 2006). "MPEG-21 File Format white paper – Proposal". Archived from the original on 2008-01-17. Retrieved 2009-12-28.
- ^ Open Mobile Alliance (2008-07-23). "DRM Content Format 2.0.2" (PDF). Retrieved 2009-08-14.
- ^ Open Mobile Alliance (2008-10-14). "DRM Content Format 2.1" (PDF). Retrieved 2009-08-14.
- ^ ISMA (2007-11-15). "ISMA Encryption and Authentication, Version 2.0" (PDF). Archived from the original (PDF) on 2013-06-05. Retrieved 2009-08-14.
- ^ ISMA (2009). "ISMA Technical Specifications". Archived from the original on 2009-09-10. Retrieved 2009-08-14.
- ^ ITU-T (2009). "ITU-T Recommendation G.719". Retrieved 2009-08-14.
- ^ ETSI (2008-08-20). "TS 102 366 – Digital Audio Compression (AC-3, Enhanced AC-3) Standard". Retrieved 2009-08-14.
- ^ ETSI (2002-12-18). "TS 102 114 – DTS Coherent Acoustics; Core and Extensions – DTS specification". Retrieved 2009-08-14.
- ^ Dirac Video Compression (2008-07-17). "ISOM/MP4 registrations complete". Retrieved 2009-08-08.
- ^ BBC (2008-07-16). "Encapsulation of Dirac in ISO Base Media file format derivatives" (PDF). Retrieved 2009-08-08.
- ^ Adobe Systems Incorporated (18 May 2007). "Video File Format Specification, Version 10" (PDF). Adobe Systems Incorporated. pp. 17–44. Archived from the original (PDF) on February 6, 2009. Retrieved 2009-08-03.
- ^ Tinic Uro (October 31, 2007). "New File Extensions and MIME Types". Kaourantin.net. Archived from the original on July 6, 2010. Retrieved 2009-08-03.
- ^ Microsoft Corporation (March 2009). "IIS Smooth Streaming Technical Overview" (PDF). Microsoft Corporation. pp. 11–16. Archived from the original (PDF) on 2011-06-05. Retrieved 2009-08-04.
- ^ Microsoft (9 Mar 2010). "The portable interoperable file format (PIFF), Version 10" (PDF). Microsoft. pp. 1–32. Retrieved 2010-08-03.
- ^ John Deutscher (2010-08-16). "About the Protected Interoperable File Format (PIFF)".
- ^ Zambelli, Alex (2009). "Smooth Streaming FAQ". Retrieved 2009-08-04.
- ^ Steven Greenberg (2009). "What is an "ftyp", anyway?". Retrieved 2009-07-30.
- ^ From Google I/O 2009 – Mastering the Android Media Framework on YouTube.
External links
- RFC 4281 – The Codecs Parameter for "Bucket" Media Types
- "ISO/IEC 14496-12:2015 - Information technology – Coding of audio-visual objects – Part 12: ISO base media file format (download)". iso.org. 2015-12-01. Retrieved 2018-03-28.
- "The 'MP4' Registration Authority". Mp4ra.org. Retrieved 2021-09-08.
- "3GPP specification: 26.244". 3gpp.org. Retrieved 2009-10-18.
- "File Format for Multimedia Services" (PDF). Archived from the original (PDF) on 2009-10-07. Retrieved 2009-10-18.
- "Complete List of all known MP4/QT 'ftyp' designations". Ftyps.com. Retrieved 2009-10-18.
- "ISO Base Media File Format". Chiariglione.org. Retrieved 2022-05-05.