MIME Types and File Extensions
From XiphWiki
STATUS: Work on RFCs and tools is starting now to reflect these policies. Use the correct file extensions straight away.
DISCLAIMER: currently, only application/ogg is a registered MIME type. Registration for the others is being undertaken. During this process, the "x-" versions of these unregistered MIME types may be used.
IMPLEMENTATION recommendations and patches: see MIME-Migration.
Contents |
[edit]
.ogx - application/ogg
- Ogg Multiplex Profile (anything in Ogg)
- can contain any logical bitstreams multiplexed together in an ogg container
- will replace the .ogg extension from RFC 3534 http://www.ietf.org/rfc/rfc3534.txt
- random multitrack files MUST contain a Skeleton track to identify all containing logical bitstreams
- apps that identify a logical bitstream which they cannot decode SHOULD ignore it but MAY still decode the ones they can
- thus, e.g. an annodex file can gracefully degrade to .ogx if an app cannot decode CMML and/or Skeleton
- USE: application/ogg has been registered, so can be used immediately
[edit]
.ogv - video/ogg
- Ogg Video Profile (a/v in Ogg container)
- apps supporting .oga, .ogv SHOULD support decoding from muxed Ogg streams
- covers e.g. Theora, Theora + Vorbis, Theora + Speex, Theora + FLAC, Dirac + Vorbis, MNG + FLAC, OggUVS inside Ogg
- This list is not exhaustive (for example, Dirac + FLAC is acceptable too)
- SHOULD contain a Skeleton track and/or MAY contain a CMML logical bitstream.
[edit]
.oga - audio/ogg
- Ogg Audio Profile (audio in Ogg container)
- Applications supporting .oga, .ogv SHOULD support decoding from muxed Ogg streams
- Covers Ogg FLAC, Ghost, and OggPCM
- Although they share the same MIME type, Vorbis and Speex use different file extensions.
- SHOULD contain a Skeleton logical bitstream.
- Vorbis and Speex may use .oga, but it is not the prefered method of distributing these files because of backwards-compatibility issues.
[edit]
.ogg - audio/ogg
- Ogg Vorbis I Profile
- .ogg applies now for Vorbis I files only
- .ogg has more recently also been used for Ogg FLAC and for Theora, too — these uses are deprecated now in favor of .oga and .ogv respectively
- has been defined in RFC 3534 http://www.ietf.org/rfc/rfc3534.txt for application/ogg, so rfc 3534 will be re-defined
RATIONALE: .ogg has traditionally been used for Vorbis I files, in particular in HW players, hence it is kept for backwards-compatibility
[edit]
.spx - audio/ogg
- Ogg Speex Profile
- .spx has traditionally been used for Speex files within Ogg and should be considered for backwards-compatibility
[edit]
.flac - audio/flac
- FLAC in native encapsulation format
[edit]
.anx - application/annodex
- Profile for multiplexed Ogg that includes a skeleton track and at least one CMML logical bitstream
- apps that identify a logical bitstream which they cannot decode SHOULD ignore it but MAY still decode the ones they can
- apps that come across an annodex file and cannot decode CMML and/or Skeleton, but can deal with the others SHOULD gracefully degrade by ignoring these
[edit]
.axa - audio/annodex
- Profile for audio in Annodex
- covers e.g. Vorbis, Speex, FLAC, Ghost, OggPCM inside Ogg with Skeleton and CMML
[edit]
.axv - video/annodex
- Profile for video in Annodex
- covers e.g. Theora, Theora + Vorbis, Theora + Speex, Theora + FLAC, Dirac + Vorbis, MNG + FLAC, OggUVS inside Ogg with Skeleton and CMML
[edit]
.xspf - application/xspf+xml
- Profile for XSPF
- Covers XSPF, while being used through XML
- Does not cover JSPF, which is XSPF but on JSON
[edit]
Codec MIME types
Codecs need their own MIME types for streaming in RTP and to be used in multitrack ogg files using skeleton:
- audio/vorbis for Vorbis without container
- video/theora for Theora without container
- audio/speex for Speex without container
- audio/flac for FLAC without and in native container
- text/cmml for CMML without container
