MIME Types and File Extensions

From XiphWiki

(Difference between revisions)
Jump to: navigation, search
(added annodex)
Line 17: Line 17:
* Ogg Audio Profile (audio in Ogg container)
* Ogg Audio Profile (audio in Ogg container)
* apps supporting .oga, .ogv SHOULD support decoding from muxed Ogg streams
* apps supporting .oga, .ogv SHOULD support decoding from muxed Ogg streams
-
* covers [[Vorbis]], [[Speex]], [[FLAC]], [[Ghost]], [[OggPCM]] inside Ogg, though Ogg Vorbis and Ogg Speex also have special profiles
+
* covers e.g. [[Vorbis]], [[Speex]], [[FLAC]], [[Ghost]], [[OggPCM]] inside Ogg, though Ogg Vorbis and Ogg Speex also have special profiles
* May contain Ogg Skeleton and/or [[CMML]] logical bitstreams.
* May contain Ogg Skeleton and/or [[CMML]] logical bitstreams.
Line 26: Line 26:
* Ogg Video Profile (a/v in Ogg container)
* Ogg Video Profile (a/v in Ogg container)
* apps supporting .oga, .ogv SHOULD support decoding from muxed Ogg streams
* apps supporting .oga, .ogv SHOULD support decoding from muxed Ogg streams
-
* covers [[Theora]], Theora + Vorbis, Theora + Speex, Theora + FLAC, [[Dirac]] + Vorbis, [[OggMNG|MNG]] + FLAC, [[OggUVS]] inside Ogg
+
* covers e.g. [[Theora]], Theora + Vorbis, Theora + Speex, Theora + FLAC, [[Dirac]] + Vorbis, [[OggMNG|MNG]] + FLAC, [[OggUVS]] inside Ogg
* This list is not exhaustive (for example, [[Dirac]] + FLAC is acceptable too)
* This list is not exhaustive (for example, [[Dirac]] + FLAC is acceptable too)
* May contain Ogg Skeleton and/or CMML logical bitstreams.
* May contain Ogg Skeleton and/or CMML logical bitstreams.
Line 47: Line 47:
* flac in native encapsulation format
* flac in native encapsulation format
 +
 +
== .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 drop it but MAY still decode the ones they can
 +
 +
== .axa - audio/annodex ==
 +
 +
* Profile for audio in annodex
 +
* covers e.g. [[Vorbis]], [[Speex]], [[FLAC]], [[Ghost]], [[OggPCM]] inside Ogg with Skeleton and CMML
 +
 +
== .axv - video/annodex ==
 +
 +
* Profile for audio in annodex
 +
* covers e.g. [[Theora]], Theora + Vorbis, Theora + Speex, Theora + FLAC, [[Dirac]] + Vorbis, [[OggMNG|MNG]] + FLAC, [[OggUVS]] inside Ogg with Skeleton and CMML

Revision as of 14:08, 2 June 2007

STATUS: final editing before being turned into an official Xiph recommendation and work on rfcs will start to reflect these policies

DISCLAIMER: currently, only application/ogg is a registered mimetype. Registration for the others will need to be undertaken. In the meantime, use of the "x-" mimetype is recommended.

IMPLEMENTATION recommendations and patches: see MIME-Migration.

Contents

.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 SHOULD contain a Skeleton track to identify all containing logical bitstreams
  • apps that identify a logical bitstream which they cannot decode SHOULD drop but MAY still decode the ones they can

.oga - audio/ogg

  • Ogg Audio Profile (audio in Ogg container)
  • apps supporting .oga, .ogv SHOULD support decoding from muxed Ogg streams
  • covers e.g. Vorbis, Speex, FLAC, Ghost, OggPCM inside Ogg, though Ogg Vorbis and Ogg Speex also have special profiles
  • May contain Ogg Skeleton and/or CMML logical bitstreams.

RATIONALE: This distinguishes audio-only files, using any of the Xiph audio codecs, from Ogg Vorbis I files (traditional .ogg) which may not contain more than one logical bitstream.

.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)
  • May contain Ogg Skeleton and/or CMML logical bitstreams.

.ogg - audio/ogg+vorbis

  • Ogg Vorbis I Profile
  • .ogg applies now for Ogg Vorbis I files only
  • .ogg has more recently also been used for Ogg FLAC and for Ogg Theora, too - these uses are deprecated now in favor of .oga and .ogv
  • 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 Ogg Vorbis I files, in particular in HW players, which needs to continue to be supported

.spx - audio/ogg+speex

  • Ogg Speex Profile
  • .spx has traditionally been used for Ogg Speex files and should be considered for backwards-compatibility

.flac - application/flac

  • flac in native encapsulation format

.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 drop it but MAY still decode the ones they can

.axa - audio/annodex

.axv - video/annodex

  • Profile for audio in annodex
  • covers e.g. Theora, Theora + Vorbis, Theora + Speex, Theora + FLAC, Dirac + Vorbis, MNG + FLAC, OggUVS inside Ogg with Skeleton and CMML


Codec MIME types

Codecs need their own MIME types for streaming 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 container, but extra FLAC Ogg header (?)
Personal tools


Main Page

Xiph.Org Projects

Audio—

Video—

Text—

Container—

Streaming—