Audio-Video Transport WG Y Lim, D. Singer
Internet Draft net&tv, Apple Computer
Document: draft-lim-mpeg4-mime-02 July 2004
Category: Expires December 2004
MIME Type Registration for MPEG-4
Status of this Memo
By submitting this Internet-Draft, I certify that any applicable
patent or other IPR claims of which I am aware have been disclosed,
and any of which I become aware will be disclosed, in accordance with
RFC 3668.
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/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html
This document is a submission of the IETF AVT WG. Comments should
be directed to the AVT WG mailing list, avt@ietf.org.
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.
Table of Contents
1. Introduction...................................................2
2. General rules of using top level MIME types....................3
2.1 Usage of "video"...........................................3
2.2 Usage of "audio"...........................................3
2.3 Usage of "application".....................................3
3. MIME types for MPEG-4 contents.................................3
Lim and Singer July 2004 [Page 1]
MIME Type Registration for MPEG-4 December 2004
3.1 MIME types for MP4 file....................................3
3.2 MIME types for elementary streams..........................4
3.3 MIME types for IOD.........................................4
4. IANA Considerations............................................4
4.1 MP4 file with visual presentation..........................4
4.2 MP4 file without visual presentation.......................5
4.3 MP4 file without visual presentation.......................6
4.4 IOD in binary format.......................................7
4.5 IOD in textual format......................................7
5. Security Considerations........................................8
6. Acknowledgments................................................9
7. Full Copyright Statement.......................................9
8. Intellectual Property Notice..................................10
9. References....................................................10
10. Author's Addresses...........................................11
1. Introduction
This document describes standard definition of MIME types associated
with MPEG-4 contents and the guidelines of using them. This document
only defines general MIME types not belong to specific RTP payload
formats carrying MPEG-4 contents. Payload format specific MIME types
will be defined in each payload format specifications.
MPEG-4, ISO/IEC 14496, is a standard designed for the representation
and delivery of multimedia information over a variety of transport
protocols[3]. 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 and Singer July 2004 [Page 2]
MIME Type Registration for MPEG-4 December 2004
2. General rules of using top level MIME types
2.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.
2.2 Usage of "audio"
"audio" may 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.
2.3 Usage of "application"
"application" should 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. MIME types for MPEG-4 contents
3.1 MIME types for MP4 file
The MIME types to be assigned to MP4 files are selected based on the
contents. Basic guidelines of 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 which have MPEG-J etc. in
Lim and Singer July 2004 [Page 3]
MIME Type Registration for MPEG-4 December 2004
addition to video or audio streams, video/mp4 should be used,
although:
c) for files with audio but no visual aspect, including those which
have MPEG-J etc. in addition to audio streams, audio/mp4 may be used.
In either case, these indicate files conforming to the "MP4"
specification (ISO/IEC 14496-1:2000, systems file format).
3.2 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" MUST 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.3 MIME types for IOD
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.
4. 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.
4.1 MP4 file with visual presentation
MIME media type name: video
MIME subtype name: mp4
Lim and Singer July 2004 [Page 4]
MIME Type Registration for MPEG-4 December 2004
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 section 5 of RFC XXXX
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
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.2 MP4 file without visual presentation
MIME media type name:audio
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 section 5 of RFC XXXX
Interoperability considerations: A number of interoperating
implementations exist within the ISO/IEC 14496 community; and that
Lim and Singer July 2004 [Page 5]
MIME Type Registration for MPEG-4 December 2004
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
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.3 MP4 file with MPEG-4 system stream
MIME media type name:application
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 section 5 of RFC XXXX
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
Macintosh File Type Code(s): mpg4 is registered with Apple
Lim and Singer July 2004 [Page 6]
MIME Type Registration for MPEG-4 December 2004
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.4 IOD in binary format
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 section 5 of RFC XXXX
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
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.5 IOD in textual format
MIME media type name: application
Lim and Singer July 2004 [Page 7]
MIME Type Registration for MPEG-4 December 2004
MIME subtype name: mpeg4-iod-xmt
Required parameters: none
Optional parameters: none
Encoding considerations: none
Security considerations: See section 5 of RFC XXXX
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
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
5. Security Considerations
RTP packets using the payload formats referred to in this
specification are subject to the security considerations discussed in
the RTP specification [4]. 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.
Lim and Singer July 2004 [Page 8]
MIME Type Registration for MPEG-4 December 2004
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,
ECMAScript) commands in the streams. However, this can increase the
complexity significantly.
6. 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.
7. Full Copyright Statement
Copyright (C) The Internet Society (2004). 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.
Lim and Singer July 2004 [Page 9]
Internet Draft June, 2004
8. Intellectual Property Notice
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.
9. References
9.1 Normative References
[1]Bradner, S., "The Internet Standards Process -- Revision 3", BCP
9, RFC 2026, October 1996.
[2]Bradner, S., "Key words for use in RFCs to Indicate Requirement
Levels", BCP 14, RFC 2119, March 1997
[3]ISO/IEC International Standard 14496 (MPEG-4); "Information
technology - Coding of audio-visual objects", January 2000
[4]H. Schulzrinne, et. al., "RTP : A Transport Protocol for Real-Time
Applications", IETF RFC 1889, January 1996.
Lim and Singer July 2004 [Page 10]
MIME Type Registration for MPEG-4 December 2004
10. Author's Addresses
Young-Kwon LIM
net&tv Inc.
Room 802 Hanseo Building
1582-6 Seocho-3-Dong Seocho-Gu
Seoul, 137-875, 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 and Singer July 2004 [Page 11]