RFC 4337 PROPOSED STANDARD MIME · MEDIA · IANA

MP4 MIME Types: MIME Type Registration for MPEG-4

Which MIME type to put on an MP4 file, depending on whether it holds video, audio or neither.

On rfc-editor.org ↗
PUBLISHED
March 2006
AUTHORS
Y. Lim, D. Singer
STREAM
IETF
UPDATED BY
RFC 6381 — The 'Codecs' and 'Profiles' Parameters for "Bucket" Media Types
MIME TYPES REGISTERED
5
FILE EXTENSIONS DECLARED
mp4 and mpg4
MACINTOSH FILE TYPE CODE
mpg4
MAGIC NUMBER
None
INTENDED USAGE
Common
TEXT DESCRIPTOR ENCODING
None needed for application/mpeg4-iod-xmt
DOI
10.17487/RFC4337
ERRATA
Reported errata

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
Network Working Group                                             Y. Lim
Request for Comments: 4337                                   net&tv Inc.
Category: Standards Track                                      D. Singer
                                                          Apple Computer
                                                              March 2006


                   MIME Type Registration for MPEG-4

Status of This Memo

   This document specifies an Internet standards track protocol for the
   Internet community, and requests discussion and suggestions for
   improvements.  Please refer to the current edition of the "Internet
   Official Protocol Standards" (STD 1) for the standardization state
   and status of this protocol.  Distribution of this memo is unlimited.

Copyright Notice

   Copyright (C) The Internet Society (2006).

Abstract

   This document defines the standard MIME types associated with MP4
   files.  It also recommends use of registered MIME types according to
   the type of contents.

Table of Contents

   1. Introduction ....................................................2
   2. Selection of MIME Types for MP4 Files ...........................3
   3. IANA Considerations .............................................3
      3.1. MP4 File ...................................................4
      3.2. MP4 File with Audio but without Visual Presentation ........5
      3.3. MP4 File with MPEG-4 System Stream and neither
           Visual nor Audio Presentation ..............................6
      3.4. Initial Object Descriptor (IOD) in Binary Format ...........7
      3.5. Initial Object Descriptor (IOD) in Textual Format ..........8
   4. Security Considerations .........................................9
   5. Acknowledgements ................................................9
   6. Normative References ............................................9

1.  Introduction

   This document describes a standard definition of MIME types
   associated with MP4 files and the guidelines for using them.

   MPEG-4 (ISO/IEC 14496) is a standard designed for the representation
   and delivery of multimedia information over a variety of transport
   protocols [1].  It includes interactive scene management and visual
   and audio representations, as well as system functionality like
   multiplexing, synchronization, and an object descriptor framework
   [2].

   The historical approach for MPEG data has been to declare it under
   "video", and this approach is followed for ISO/IEC 14496.  In
   addition, some MIME types are defined under "audio" and "application"
   for the streams not containing visual presentation.

   Amendment 1 of the ISO/IEC 14496 standard (also known as version 2)
   introduced a standard file type, called MP4 files, for encapsulating
   ISO/IEC 14496 data.  This is now separately specified as the MP4 file
   format [4], which in turn is based on the ISO base media file format
   [3].  A separate specification [5] covers the storage of Advanced
   Video Coding (AVC) (also known as H.264) [6] material in files based
   on the ISO base media file format.  The MP4 file type can be used in
   a number of ways; perhaps the most important of these is its use as
   an interchange format for ISO/IEC 14496 data, as a content-download
   format, and as the format read by streaming media servers.

   These first two uses will be greatly facilitated if there is a
   standard MIME type for serving these files (e.g., over HTTP).

   The ISO/IEC 14496 standard is broad, and therefore the type of data
   that may be in such a file can vary.  In brief, simple compressed
   video and audio (using a number of different compression algorithms)
   can be included; interactive scene information; meta-data about the
   presentation; references to ISO/IEC 14496 media streams outside the
   file and so on.  Different top-level MIME types are used to identify
   the type of the contents in the file.

2.  Selection of MIME Types for MP4 Files

   The MIME types to be assigned to MP4 files are selected according to
   the contents.  Basic guidelines for selecting MIME types are as
   follows:

   a) if the file contains neither visual nor audio presentations, but
      only, for example, MPEG-J or MPEG-7, use application/mp4;

   b) for all other files, including those that have MPEG-J, etc., in
      addition to video or audio streams, video/mp4 should be used;
      however:

   c) for files with audio but no visual aspect, including those that
      have MPEG-J, etc., in addition to audio streams, audio/mp4 may be
      used.

   In any case, these indicate files conforming to the "MP4"
   specification, ISO/IEC 14496-1:2000, systems file format.

3.  IANA Considerations

   This section describes the MIME types and names to be used with
   various MPEG-4 contents.  Sections from 4.1 to 4.5 register five new
   MIME types with the IANA.

3.1.  MP4 File

   MIME media type name: video

   MIME subtype name: mp4

   Required parameters: none

   Optional parameters: none

   Encoding considerations: base64 IS generally preferred; files are
      binary and should be transmitted without CR/LF conversion, 7-bit
      stripping, etc.

   Security considerations: See section 5 of RFC 4337.

   Interoperability considerations: A number of interoperating
      implementations exist within the ISO/IEC 14496 community, and that
      community has reference software for reading and writing the file
      format.

   Published specification: ISO/IEC 14496-1:2001.

   Applications: Multimedia

   Additional information:

      Magic number(s): none

      File extension(s): mp4 and mpg4 are both declared at
         <http://pitch.nist.gov/nics/>.

      Macintosh File Type Code(s): mpg4 is registered with Apple.

   Person to contact for info: David Singer, singer@apple.com

   Intended usage: Common

   Author/Change controller: David Singer, ISO/IEC 14496 file format
      chair

3.2.  MP4 File with Audio but without Visual Presentation

   MIME media type name: audio

   MIME subtype name: mp4

   Required parameters: none

   Optional parameters: none

   Encoding considerations: base64 IS generally preferred; files are
      binary and should be transmitted without CR/LF conversion, 7-bit
      stripping, etc.

   Security considerations: See section 5 of RFC 4337.

   Interoperability considerations: A number of interoperating
      implementations exist within the ISO/IEC 14496 community, and that
      community has reference software for reading and writing the file
      format.

   Published specification: ISO/IEC 14496-1:2001.

   Applications: Multimedia

   Additional information:

      Magic number(s): none

      File extension(s): mp4 and mpg4 are both declared at
         <http://pitch.nist.gov/nics/>.

      Macintosh File Type Code(s): mpg4 is registered with Apple.

   Person to contact for info: David Singer, singer@apple.com

   Intended usage: Common

   Author/Change controller: David Singer, ISO/IEC 14496 file format
      chair.

3.3.  MP4 File with MPEG-4 System Stream and neither Visual nor
      Audio Presentation

   MIME media type name:application

   MIME subtype name: mp4

   Required parameters: none

   Optional parameters: none

   Encoding considerations: base64 IS generally preferred; files are
      binary and should be transmitted without CR/LF conversion, 7-bit
      stripping, etc.

   Security considerations: See section 5 of RFC 4337.

   Interoperability considerations: A number of interoperating
      implementations exist within the ISO/IEC 14496 community, and that
      community has reference software for reading and writing the file
      format.

   Published specification: ISO/IEC 14496-1:2001.

   Applications: Multimedia

   Additional information:

      Magic number(s): none

      File extension(s): mp4 and mpg4 are both declared at
         <http://pitch.nist.gov/nics/>.

      Macintosh File Type Code(s): mpg4 is registered with Apple.

   Person to contact for info: David Singer, singer@apple.com

   Intended usage: Common

   Author/Change controller: David Singer, ISO/IEC 14496 file format
      chair

3.4.  Initial Object Descriptor (IOD) in Binary Format

   MIME media type name: application

   MIME subtype name: mpeg4-iod

   Required parameters: none

   Optional parameters: none

   Encoding considerations: base64 is generally preferred; files are
      binary and should be transmitted without CR/LF conversion, 7-bit
      stripping, etc.

   Security considerations: See section 5 of RFC 4337.

   Interoperability considerations: A number of interoperating
      implementations exist within the ISO/IEC 14496 community, and that
      community has reference software for reading and writing the file
      format.

   Published specification: ISO/IEC 14496-1:2001

      Applications: Multimedia

      Additional information:

      Magic number(s): none

      File extension(s): none mp4 and mpg4 are both declared at
         <http://pitch.nist.gov/nics/>.

      Macintosh File Type Code(s): mpg4 is registered with Apple.

   Person to contact for info: David Singer, singer@apple.com

   Intended usage: Common

   Author/Change controller: David Singer, ISO/IEC 14496 file format
      chair

3.5.  Initial Object Descriptor (IOD) in Textual Format

   MIME media type name: application

   MIME subtype name: mpeg4-iod-xmt

   Required parameters: none

   Optional parameters: none

   Encoding considerations: none

   Security considerations: See section 5 of RFC 4337.

   Interoperability considerations: A number of interoperating
      implementations exist within the ISO/IEC 14496 community, and that
      community has reference software for reading and writing the file
      format.

   Published specification: ISO/IEC 14496-1:2001 AMD2.

   Applications: Multimedia

   Additional information:

      Magic number(s): none

      File extension(s): mp4 and mpg4 are both declared at
         <http://pitch.nist.gov/nics/>.

      Macintosh File Type Code(s): mpg4 is registered with Apple.

   Person to contact for info: David Singer, singer@apple.com

   Intended usage: Common

   Author/Change controller: David Singer, ISO/IEC 14496 file format
      chair

4.  Security Considerations

   It is possible to inject non-compliant MPEG streams (Audio, Video,
   and Systems) in the MP4 file to overload the receiver/decoder's
   buffers.  This might compromise the functionality of the receiver or
   even crash it.  This is especially true for end-to-end systems like
   MPEG, where the buffer models are precisely defined.

   An MP4 file supports the storage of stream types, including commands
   that are executed on the terminal such as OD command and BIFS
   commands, and programmatic content such as MPEG-J (Java(TM) Byte
   Code) and ECMASCRIPT.  It is possible to use one or more of the above
   in a manner non-compliant to MPEG to crash the receiver or
   temporarily make it unavailable.

   Authentication mechanisms can be used to validate of the sender and
   the data to prevent security problems due to non-compliant malignant
   MP4 files.

   A security model is defined in ISO/IEC 14496 Systems MP4 files
   containing MPEG-J contents that comprises Java(TM) classes and
   objects.  MPEG-J defines a set of Java(TM) APIs and a secure
   execution model.  MPEG-J content can call this set of APIs and
   Java(TM) methods from a set of Java packages supported in the
   receiver within the defined security model.  According to this
   security model, downloaded byte code is forbidden to load libraries,
   to define native methods, to start programs, to read or write files,
   or to read system properties.

5.  Acknowledgements

   This document has benefited greatly by contributions from many
   people, including Mike Coleman, Jean-Claude Duford, Viswanathan
   Swaminathan, Peter Westerink, Carsten Herpel, Olivier Avaro, Paul
   Christ, Zvi Lifshitz, and many others.  Their insight, foresight, and
   contribution is gratefully acknowledged.  Little has been invented
   here by the author; this is mostly a collation of greatness that has
   gone before.

6.  Normative References

   [1]  Schulzrinne, H.,  Casner, S., Frederick, R., and V. Jacobson,
        "RTP: A Transport Protocol for Real-Time Applications", STD 64,
        RFC 3550, July 2003.

   [2]  ISO/IEC 14496-1 "Information technology - Coding of audio-visual
        objects - Part 1 : Systems", 3rd ed. 2004.

   [3]  ISO/IEC 14496-12 "Information technology - Coding of audio-
        visual objects - Part 12 : ISO Base Media File Format", December
        2003.

   [4]  ISO/IEC 14496-14 "Information technology - Coding of audio-
        visual objects - Part 14 : MP4 File Format", January 2004.

   [5]  ISO/IEC 14496-15 "Information technology - Coding of audio-
        visual objects - Part 15 : AVC File Format", 2004.

   [6]  ISO/IEC 14496-10:2004 "Information technology -- Coding of
        audio-visual objects -- Part 10: Advanced Video Coding", 2nd
        edition, 2004.

Authors' Addresses

   Young-Kwon LIM
   net&tv Inc.
   Room 802 Hanseo Building
   1582-6 Seocho-3-Dong Seocho-Gu
   Seoul, 137-875, Korea

   Phone: +82-2-581-2305
   EMail: young@netntv.co.kr


   David Singer
   Apple Computer, Inc.
   One Infinite Loop, MS:302-3MT
   Cupertino  CA 95014
   USA

   Phone: +1 408 974 3162
   EMail: singer@apple.com

Full Copyright Statement

   Copyright (C) The Internet Society (2006).

   This document is subject to the rights, licenses and restrictions
   contained in BCP 78, and except as set forth therein, the authors
   retain all their rights.

   This document and the information contained herein are provided on an
   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
   OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
   ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
   INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
   INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
   WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

Intellectual Property

   The IETF takes no position regarding the validity or scope of any
   Intellectual Property Rights or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; nor does it represent that it has
   made any independent effort to identify any such rights.  Information
   on the procedures with respect to rights in RFC documents can be
   found in BCP 78 and BCP 79.

   Copies of IPR disclosures made to the IETF Secretariat and any
   assurances of licenses to be made available, or the result of an
   attempt made to obtain a general license or permission for the use of
   such proprietary rights by implementers or users of this
   specification can be obtained from the IETF on-line IPR repository at
   http://www.ietf.org/ipr.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights that may cover technology that may be required to implement
   this standard.  Please address the information to the IETF at
   ietf-ipr@ietf.org.

Acknowledgement

   Funding for the RFC Editor function is provided by the IETF
   Administrative Support Activity (IASA).

ISO Plain Language

On this page
PROBLEMAn MP4 file is a container, so it can hold video, audio, scene information or none of those, and a server had no agreed way to label the file for the kind of content inside it.
MECHANISMThe document registers five media types, video/mp4, audio/mp4, application/mp4, application/mpeg4-iod and application/mpeg4-iod-xmt, and gives a rule for choosing between them based on the contents.
WHY IT MATTERSServers and mail programs can now label an MP4 file with a type that says what is inside it. RFC 4337 was later updated by RFC 6381.

§1MPEG-4 and the MP4 File Format

The document describes a standard definition of MIME types associated with MP4 files and the guidelines for using them.

MPEG-4, also known as ISO/IEC 14496, is a standard designed for the representation and delivery of multimedia information over a variety of transport protocols. It includes interactive scene management and visual and audio representations, as well as system functionality like multiplexing, synchronization, and an object descriptor framework.

The historical approach for MPEG data has been to declare it under "video", and this approach is followed for ISO/IEC 14496. In addition, some MIME types are defined under "audio" and "application" for the streams not containing visual presentation.

Amendment 1 of the ISO/IEC 14496 standard, also known as version 2, introduced a standard file type, called MP4 files, for encapsulating ISO/IEC 14496 data. This is now separately specified as the MP4 file format, which in turn is based on the ISO base media file format. A separate specification covers the storage of Advanced Video Coding material, also known as H.264, in files based on the ISO base media file format. The MP4 file type can be used in a number of ways, perhaps the most important of which is its use as an interchange format for ISO/IEC 14496 data, as a content-download format, and as the format read by streaming media servers.

These first two uses will be greatly facilitated if there is a standard MIME type for serving these files, for example over HTTP. The ISO/IEC 14496 standard is broad, and therefore the type of data that may be in such a file can vary. Simple compressed video and audio, using a number of different compression algorithms, can be included, as can interactive scene information, metadata about the presentation, and references to ISO/IEC 14496 media streams outside the file. Different top-level MIME types are used to identify the type of the contents in the file.

MP4 is a container format, so the file extension alone does not tell a server what is inside. The label on the file has to say whether it is video, sound, or something else.

§2Selecting the MIME Type

The MIME types to be assigned to MP4 files are selected according to the contents. The document gives three basic guidelines.

First, if the file contains neither visual nor audio presentations, but only, for example, MPEG-J or MPEG-7, use application/mp4. Second, for all other files, including those that have MPEG-J and similar content in addition to video or audio streams, video/mp4 should be used. Third, for files with audio but no visual aspect, including those that have MPEG-J and similar content in addition to audio streams, audio/mp4 may be used.

In any case, these indicate files conforming to the MP4 specification, ISO/IEC 14496-1:2000, systems file format.

Video present means the video label. No video but audio present means the audio label is allowed. Neither means the application label. Any extra content such as scene information does not change the choice.

WHICH MIME TYPE FITS WHICH MP4 FILE
What is inside the fileMIME type
Video, with or without audio THIS RFCvideo/mp4
Audio but no visual aspectaudio/mp4
Neither visual nor audio, for example MPEG-J or MPEG-7 onlyapplication/mp4
Initial Object Descriptor in binary formatapplication/mpeg4-iod
Initial Object Descriptor in textual formatapplication/mpeg4-iod-xmt

§3The Five Media Type Registrations

This section describes the MIME types and names to be used with various MPEG-4 contents, and registers five new MIME types with IANA.

The first three, video/mp4, audio/mp4 and application/mp4, are all MP4 files as defined by ISO/IEC 14496-1:2001, with different names for the three kinds of content. The other two, application/mpeg4-iod and application/mpeg4-iod-xmt, cover the Initial Object Descriptor, which describes a presentation, in binary form and in textual form respectively.

All five registrations share the same additional information. None of them has a magic number. The file extensions mp4 and mpg4 are both declared, and the Macintosh File Type Code mpg4 is registered with Apple. The person to contact for information and the author and change controller is David Singer, the ISO/IEC 14496 file format chair. The intended usage of all five is Common. None of the registrations has a required parameter or an optional parameter.

For the three MP4 file types, the published specification is ISO/IEC 14496-1:2001. For the textual Initial Object Descriptor it is ISO/IEC 14496-1:2001 AMD2.

All five types were registered for common use, with no magic number and no parameters. Two file extensions, mp4 and mpg4, are declared for all of them.

THE FIVE REGISTERED MEDIA TYPES
  • video/mp4An MP4 file with visual presentation.
  • audio/mp4An MP4 file with audio but without visual presentation.
  • application/mp4An MP4 file with an MPEG-4 System Stream and neither visual nor audio presentation.
  • application/mpeg4-iodInitial Object Descriptor in binary format.
  • application/mpeg4-iod-xmtInitial Object Descriptor in textual format.

§3.1The Video and Audio MP4 Media Types

The first registration is the MP4 file. Its MIME media type name is video and its MIME subtype name is mp4, giving video/mp4. It has no required parameters and no optional parameters. The published specification is ISO/IEC 14496-1:2001 and the application is Multimedia.

The second registration is the MP4 file with audio but without visual presentation. Its MIME media type name is audio and its MIME subtype name is mp4, giving audio/mp4. It too has no required parameters and no optional parameters, and its published specification is ISO/IEC 14496-1:2001.

For both of these, the encoding considerations say that base64 is generally preferred, and that the files are binary and should be transmitted without CR/LF conversion or 7-bit stripping. The interoperability considerations note that a number of interoperating implementations exist within the ISO/IEC 14496 community, and that this community has reference software for reading and writing the file format.

One registration is the ordinary MP4 file with pictures, the other is the MP4 file with sound only. Neither takes any parameters.

§3.4The Object Descriptor Media Types

The third registration is the MP4 file with an MPEG-4 System Stream and neither visual nor audio presentation. Its MIME media type name is application and its MIME subtype name is mp4, giving application/mp4. It has no required parameters and no optional parameters, and its published specification is ISO/IEC 14496-1:2001.

The fourth registration is the Initial Object Descriptor in binary format. Its MIME media type name is application and its MIME subtype name is mpeg4-iod. Its encoding considerations say that base64 is generally preferred, and that files are binary and should be transmitted without CR/LF conversion or 7-bit stripping. Its published specification is ISO/IEC 14496-1:2001.

The fifth registration is the Initial Object Descriptor in textual format. Its MIME media type name is application and its MIME subtype name is mpeg4-iod-xmt. Its encoding considerations are none, since the format is already text, and its published specification is ISO/IEC 14496-1:2001 AMD2.

The application label covers a file with no pictures and no sound, such as a file holding only scene information. The two IOD types cover the descriptor that lists what a presentation contains, in binary and in text form.

§4Security Considerations

It is possible to inject non-compliant MPEG streams, audio, video and systems, in the MP4 file to overload the receiver's or decoder's buffers. This might compromise the functionality of the receiver or even crash it. This is especially true for end-to-end systems like MPEG, where the buffer models are precisely defined.

An MP4 file supports the storage of stream types, including commands that are executed on the terminal such as OD command and BIFS commands, and programmatic content such as MPEG-J, which is Java byte code, and ECMASCRIPT. It is possible to use one or more of the above in a manner non-compliant to MPEG to crash the receiver or temporarily make it unavailable.

Authentication mechanisms can be used to validate the sender and the data to prevent security problems due to non-compliant malignant MP4 files.

A security model is defined in ISO/IEC 14496 Systems for MP4 files containing MPEG-J contents, which comprises Java classes and objects. MPEG-J defines a set of Java APIs and a secure execution model. MPEG-J content can call this set of APIs and Java methods from a set of Java packages supported in the receiver within the defined security model. According to this security model, downloaded byte code is forbidden to load libraries, to define native methods, to start programs, to read or write files, or to read system properties.

A file can carry commands and scripts that run on the machine that plays it. The document says authentication is the way to make sure the file came from someone you trust, and it lists what downloaded code is not allowed to do.

§7References

[1]RFC 3550Schulzrinne, H., Casner, S., Frederick, R., and V. Jacobson, "RTP: A Transport Protocol for Real-Time Applications", STD 64, RFC 3550, July 2003.July 2003
[2]ISO/IEC 14496-1 "Information technology - Coding of audio-visual objects - Part 1: Systems", 3rd ed. 2004.
[3]ISO/IEC 14496-12 "Information technology - Coding of audio-visual objects - Part 12: ISO Base Media File Format", December 2003.
[4]ISO/IEC 14496-14 "Information technology - Coding of audio-visual objects - Part 14: MP4 File Format", January 2004.
[5]ISO/IEC 14496-15 "Information technology - Coding of audio-visual objects - Part 15: Advanced Video Coding", October 2004.