MIME Type Registration for MPEG-4
updated by
- rfc-6381 — The 'Codecs' and 'Profiles' Parameters for "Bucket" Media Types
Extracted elements (14)
The historical approach for MPEG data has been to declare it under 'video', and this approach is followed for ISO/IEC 14496. Additional MIME types are defined under 'audio' and 'application' for streams not containing visual presentation.
For all five registered MIME types, binary MP4 files should be transmitted without CR/LF conversion or 7-bit stripping; base64 is generally preferred as the encoding for transport.
For MP4 files containing video or audio streams (including those that also have MPEG-J, etc.), video/mp4 SHOULD be used.
For MP4 files with audio but no visual aspect (including those with MPEG-J, etc., in addition to audio streams), audio/mp4 MAY be used.
If an MP4 file contains neither visual nor audio presentations (e.g., only MPEG-J or MPEG-7), the MIME type application/mp4 MUST be used.
Registers MIME type application/mp4 for MP4 files with MPEG-4 System Stream and neither visual nor audio presentation, conforming to ISO/IEC 14496-1:2001. File extensions are mp4 and mpg4.
Registers MIME type application/mpeg4-iod for Initial Object Descriptor (IOD) content in binary format, conforming to ISO/IEC 14496-1:2001. Files are binary; base64 encoding is generally preferred.
Registers MIME type application/mpeg4-iod-xmt for Initial Object Descriptor (IOD) content in textual (XMT) format, conforming to ISO/IEC 14496-1:2001 AMD2. No special encoding considerations apply.
Registers MIME type audio/mp4 for MP4 files containing audio but no visual presentation, conforming to ISO/IEC 14496-1:2001. File extensions are mp4 and mpg4; base64 encoding is preferred.
Registers MIME type video/mp4 for general MP4 files containing visual presentations, conforming to ISO/IEC 14496-1:2001. File extensions are mp4 and mpg4; base64 encoding is preferred for transmission.
Authentication mechanisms should be used to validate the sender and data to prevent security problems from non-compliant or malignant MP4 files.
ISO/IEC 14496 defines a security model for MPEG-J content in MP4 files: downloaded byte code is forbidden from loading libraries, defining native methods, starting programs, reading/writing files, or reading system properties.
MP4 files can contain executable content such as OD commands, BIFS commands, MPEG-J (Java byte code), and ECMAScript; non-compliant use of these can crash or temporarily disable the receiver.
Non-compliant MPEG streams injected into an MP4 file can overload receiver/decoder buffers, potentially crashing or compromising the receiver. This is especially dangerous for end-to-end systems like MPEG where buffer models are precisely defined.