Audio-Video Transport WG                               Y Lim, D. Singer
Internet Draft                                   net&tv, Apple Computer
Document: draft-lim-mpeg4-mime-00                             June 2002
Category:                                         Expires November 2002
                                                   MPEG reference: NXXXX


                    MIME Type Registration for MPEG-4


Status of this Memo

   This document is an Internet-Draft and is in full conformance with
   all provisions of Section 10 of RFC2026 [i].

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups. Note that other
   groups may also distribute working documents as Internet-Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time. It is inappropriate to use Internet- Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt
   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.


Abstract

   This document defines the standard MIME types associated with MP4
   files and various MPEG-4 streams. This also document recommended use
   of registered MIME types. according to the type of contents.


Conventions used in this document

   In examples, "C:" and "S:" indicate lines sent by the client and
   server respectively.
   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED",  "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in RFC-2119 [ii].

Table of Contents

   1. Introduction...................................................2
   2. MIME types.....................................................3
      2.1 MP4 file with visual presentation..........................3


Lim & Singer           Expires - November 2002               [Page 1]


                   MIME Type Registration for MPEG-4         June 2002


      2.2 MP4 file without visual presentation.......................3
      2.3 IOD........................................................4
   3. Usage of MIME types............................................5
      3.1 Usage of "video"...........................................5
      3.2 Usage of "audio"...........................................5
      3.3 Usage of "application".....................................5
      3.4 MIME types for MP4 file....................................5
      3.5 MIME types for elementary streams..........................6
      3.6 MIME types for IOD.........................................6
   Security Considerations...........................................7
   References........................................................8
   Acknowledgments...................................................8
   Author's Addresses................................................8


1. Introduction

   This document describes standard definition of MIME types associated
   with MPEG-4 contents and the guidelines of 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.  It includes interactive scene management, visual and
   audio representations as well as systems functionality like
   multiplexing, synchronization, and an object descriptor framework.

   The historical approach for MPEG data is 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 belonging to visual presentation.

   Amendment 1 of the ISO/IEC 14496 standard (also known as version 2)
   includes a standard file type for encapsulating ISO/IEC 14496 data.
   This file type can be used in a number of ways: perhaps the most
   important are its use as an interchange format for ISO/IEC 14496 data,
   its use 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.



Lim & Singer           Expires - November 2002               [Page 2]


                   MIME Type Registration for MPEG-4         June 2002



2. MIME types

2.1 MP4 file with visual presentation

   MIME media type name:video
   MIME subtype name:mp4

   Required parameters: none

   Optional parameters: none

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

   Security considerations:See below

   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:Pending (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


2.2 MP4 file without visual presentation

   MIME media type name:audio
   MIME subtype name:mp4

   Required parameters: none



Lim & Singer           Expires - November 2002               [Page 3]


                   MIME Type Registration for MPEG-4         June 2002


   Optional parameters: none

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

   Security considerations:See below

   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:Pending (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


2.3 IOD

   MIME media type name:application
   MIME subtype name:mpeg4-iod

   Required parameters: none

   Optional parameters: none

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

   Security considerations:See below

   Interoperability considerations: A number of interoperating
   implementations exist within the ISO/IEC 14496 community;  and that


Lim & Singer           Expires - November 2002               [Page 4]


                   MIME Type Registration for MPEG-4         June 2002


   community has reference software for reading and writing the file
   format.

   Published specification:Pending (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. Usage of MIME types

3.1 Usage of "video"

   "video" MUST be used for MPEG-4 Visual streams (i.e. video as
   defined in ISO/IEC 14496-2 (Streamtype = 4) and/or graphics as
   defined in ISO/IEC 14496-1 (Streamtype = 3)) or MPEG-4 Systems
   streams that convey information needed for an audio/visual
   presentation.

3.2 Usage of "audio"

   "audio" MUST be used for MPEG-4 Audio streams (ISO/IEC 14496-3)
   (Streamtype = 5)) or MPEG-4 Systems streams that convey information
   needed for an audio only presentation.


3.3 Usage of "application"

   "application" MUST be used for MPEG-4 Systems streams (ISO/IEC14496-1
   (all other StreamType values)) that serve other purposes than
   audio/visual presentation, e.g. in some cases when MPEG-J streams are
   transmitted.

3.4 MIME types for MP4 file




Lim & Singer           Expires - November 2002               [Page 5]


                   MIME Type Registration for MPEG-4         June 2002


   Amendment 1 of the ISO/IEC 14496 standard (also known as version 2)
   includes a standard file type for encapsulating ISO/IEC 14496 data.
   This file type can be used in a number of ways: perhaps the most
   important are its use as an interchange format for ISO/IEC 14496 data,
   its use 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.

   The MIME types to be assigned to MP4 files SHOULD be "audio/mp4", and
   "video/mp4" , based on the criteria in 5.1 รป 5.3. In either case,
   these indicate files conforming to the "MP4" specification (ISO/IEC
   14496-1:2000, systems file format).

   When an MP4 file is served (e.g. over HTTP) or otherwise must be
   identified by a MIME type, the type "video/mp4" SHOULD be used.  The
   types "audio/mp4" MAY be used when the ISO/IEC 14496 presentation
   contained within the MP4 file has no visual presentation and refers
   to a pure audio presentation.

3.5 MIME types for elementary streams

   When a visual ISO/IEC 14496 ES is served (e.g. over HTTP or
   otherwise) and must be identified by a MIME type, the type
   "video/MPEG4-visual" SHALL be used. This MIME type may require
   optional parameters to carry all necessary information to configure a
   receiver: therefore no further meta-information (such as that defined
   by the MP4 file format or by the ISO/IEC 14496 Object Descriptor
   framework) has to be provided in the data, and the data itself merely
   represents the media content..  The format of the bit-stream,
   including timing etc., is defined in ISO/IEC 14496-2.

   The payload names used in an RTPMAP attribute within SDP, to specify
   the mapping of payload number to its definition, also come from the
   MIME namespace.  Each of the RTP payload mappings defined above has a
   distinct name.  It is recommended that visual streams be identified
   under "video", and audio streams be identified under "audio", and
   otherwise "application" be used.

3.6 MIME types for IOD



Lim & Singer           Expires - November 2002               [Page 6]


                   MIME Type Registration for MPEG-4         June 2002


   In some cases, the initial object descriptor needs to be identified
   with a MIME type. In this case, the type "applications/mpeg4-iod"
   shall be supported, and the type "application/mpeg4-iod-xmt" may be
   supported. In the latter case, the IOD will be described in an XMT
   textual format. The InitialObjectDescriptor is defined in sub-clause
   8.6.3.1 of ISO/IEC 14496-1, and its XMT format is defined in ISO/IEC
   14496-1:2001 PDAM 2.


Security Considerations

   RTP packets using the payload formats referred to in this
   specification are subject to the security considerations discussed in
   the RTP specification [iii]. This implies that confidentiality of the
   media streams is achieved by encryption. Because the data compression
   used with this payload format is applied end-to-end, encryption may
   be performed on the compressed data so there is no conflict between
   the two operations. The packet processing complexity of this payload
   type does not exhibit any significant non-uniformity in the receiver
   side to cause a denial-of-service threat.

   However, it is possible to inject non-compliant MPEG streams (Audio,
   Video, and Systems) to overload the receiver/decoder's buffers which
   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.

   ISO/IEC 14496 Systems supports stream types including commands that
   are executed on the terminal like OD commands, BIFS commands, etc.
   and programmatic content like 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 or temporarily make the
   receiver unavailable.

   Authentication mechanisms can be used to validate of the sender and
   the data to prevent security problems due to non-compliant malignant
   ISO/IEC 14496 streams.

   A security model is defined in ISO/IEC 14496 Systems streams carrying
   MPEG-J access units which comprises Java(TM) 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(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, define native methods, start
   programs, read or write files, or read system properties.

   Receivers can implement intelligent filters to validate the buffer
   requirements or parametric (OD, BIFS, etc.) or programmatic (MPEG-J,


Lim & Singer           Expires - November 2002               [Page 7]


                   MIME Type Registration for MPEG-4         June 2002


   ECMAScript) commands in the streams. However, this can increase the
   complexity significantly.


References


   i  Bradner, S., "The Internet Standards Process -- Revision 3", BCP 9,
      RFC 2026, October 1996.

   ii  Bradner, S., "Key words for use in RFCs to Indicate Requirement
      Levels", BCP 14, RFC 2119, March 1997

   iii  H. Schulzrinne, et. al., "RTP : A Transport Protocol for Real-
      Time Applications", IETF RFC 1889, January 1996.


Acknowledgments

   This draft 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.


Author's Addresses

   Young-Kwon LIM
   net&tv Inc.
   5th Floor Himart Building
   1007-46 Sadang-Dong Dongjak-Gu
   Seoul, 156-090, Korea
   E-mail : young@netntv.co.kr
   TEL : +82-2-581-2305


   David Singer
   Apple Computer, Inc.
   One Infinite Loop, MS:302-3MT
   Cupertino  CA 95014
   USA
   Email: singer@apple.com
   Tel: +1 408 974 3162





Lim & Singer           Expires - November 2002               [Page 8]