RFC 4337

MIME Type Registration for MPEG-4

πŸ“… published March 2006, from ietf

Hey bestie, it's RFC 4337 πŸŽ€

Okay so this one is "MIME Type Registration for MPEG-4" from the Network Working Group πŸ’– It's a Standards Track doc (so it's an actual official protocol spec, not vibes), dated March 2006. The authors are Y. Lim from net&tv Inc. and D. Singer from Apple Computer πŸ‘‘ The header doesn't list anything it obsoletes or updates.

Status of This Memo ✨

This doc is an Internet standards track protocol for the Internet community, and it's literally asking for discussion and suggestions for improvements 🫢 If you want the current standardization state and status of this protocol, check the "Internet Official Protocol Standards" (STD 1). Distribution of this memo is unlimited 🌈

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 doc describes a standard definition of MIME types for MP4 files, plus the guidelines for using them πŸŽ€

MPEG-4 (ISO/IEC 14496) is a standard for representing and delivering multimedia info over a variety of transport protocols [1]. It includes interactive scene management and visual and audio representations, plus system stuff like multiplexing, synchronization, and an object descriptor framework [2] 🎬

The historical move for MPEG data has been to file it under "video", and that's the approach for ISO/IEC 14496 too. On top of that, some MIME types live under "audio" and "application" for the streams that don't have a visual presentation 🧚

Amendment 1 of the ISO/IEC 14496 standard (aka version 2) introduced a standard file type called MP4 files, for wrapping ISO/IEC 14496 data. That's now specified separately as the MP4 file format [4], which is based on the ISO base media file format [3]. There's also a separate spec [5] covering the storage of Advanced Video Coding (AVC) (aka H.264) [6] material in files based on the ISO base media file format πŸ“

The MP4 file type can be used a bunch of ways, and the big one is as an interchange format for ISO/IEC 14496 data. It's also a content-download format, and it's the format read by streaming media servers πŸ’–

Those first two uses get way easier if there's a standard MIME type for serving these files (e.g., over HTTP) πŸ™Œ

ISO/IEC 14496 is super broad, so the kind of data in one of these files can vary. Simple compressed video and audio (using a bunch of different compression algorithms) can be included. So can interactive scene info, metadata 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 what the contents are 🌸

2. Selection of MIME Types for MP4 Files πŸ¦‹

MIME types for MP4 files get picked based on the contents. Here are the basic guidelines:

  • 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 🎬

Here's the registration template for this one πŸ’œ

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 🎧

Same vibe as 3.1, but this one's for the audio-only files 🎢

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 🧩

And last but not least for part one, this is the one for files with an MPEG-4 System Stream and no visual or 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

5. Acknowledgements ✨

okay bestie, this section is so sweet πŸ₯Ή the author gives a huge shoutout to everyone who helped make this document better: Mike Coleman, Jean-Claude Duford, Viswanathan Swaminathan, Peter Westerink, Carsten Herpel, Olivier Avaro, Paul Christ, Zvi Lifshitz, and a whole crowd of other people too. Their insight, foresight, and contributions are gratefully acknowledged 🫢 and the author is honest that barely anything here is brand new. It's mostly a collab-style remix of the greatness that came before πŸŽ€πŸ’œ

6. Normative References πŸ“š

These are the documents the spec leans on, so they're required reading if you're building this stuff πŸ“

  • [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 🏑

Here's where you can find the two people behind this one. Both have a phone and an email, so you can slide into their DMs (professionally, obviously) πŸ’…

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

Copyright (C) The Internet Society (2006). The legal stuff is giving very serious energy, but it's important 🧚

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 doesn't take a side on whether any Intellectual Property Rights or other rights claimed around this technology are valid or how far they reach. It also doesn't say whether licenses for those rights are available, and it hasn't independently gone looking for any such rights πŸ™ˆ If you want the procedures for rights in RFC documents, check out BCP 78 and BCP 79.

Copies of IPR disclosures made to the IETF Secretariat, along with any assurances of licenses that are going to be made available, or the results of any attempt to get a general license or permission to use these proprietary rights for implementers or users of this spec, can be found in the IETF online IPR repository at http://www.ietf.org/ipr.

The IETF invites anyone who's interested to flag any copyrights, patents, patent applications, or other proprietary rights that might cover technology needed to implement this standard. Send that info to the IETF at ietf-ipr@ietf.org πŸ“¬

Acknowledgement 🌈

Funding for the RFC Editor function is provided by the IETF Administrative Support Activity (IASA). The end, and thank you for reading, bestie! πŸ¦‹βœ¨

πŸ“¦ where this page comes from