MIME Types and File Extensions: Difference between revisions

From XiphWiki
Jump to navigation Jump to search
(→‎.ogv - video/ogg: may contain skeleton, cmml)
(reflecting outcome of today's xiph meeting)
Line 1: Line 1:
WARNING: this page is under development and discussion - none of this are currently official Xiph recommendations.
STATUS: final editing before being turned into an official Xiph recommendation and work on rfcs will start to reflect these policies


== .ogg - application/ogg ==


== .ogx - application/ogg ==
* Ogg Multiplex Profile (anything in Ogg)
* can contain any logical bitstreams multiplexed together in an ogg container
* can contain any logical bitstreams multiplexed together in an ogg container
* has been defined as such in RFC 3534 http://www.ietf.org/rfc/rfc3534.txt
* will replace the .ogg extension from RFC 3534 http://www.ietf.org/rfc/rfc3534.txt
* .ogg has traditionally been used for Ogg Vorbis files, so an important subpart of the ".ogg" files will be just Ogg Vorbis. Existing hardware in the wild looks only for .ogg and treats it as unmultiplexed Ogg Vorbis I.
* .ogg has more recently also been used for Ogg FLAC and for Ogg Theora
* apps supporting .oga, .ogv SHOULD support decoding from muxed Ogg streams
* random multitrack files SHOULD contain a skeleton track to identify all containing logical bitstreams
* 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
* apps that identify a logical bitstream which they cannot decode SHOULD drop but MAY still decode the ones they can
Line 13: Line 12:
== .oga - audio/ogg ==
== .oga - audio/ogg ==


* audio in Ogg
* Ogg Audio Profile (audio in Ogg container)
** Vorbis, Speex, FLAC, Ghost, OggPCM
* apps supporting .oga, .ogv SHOULD support decoding from muxed Ogg streams
** May contain Ogg Skeleton and/or CMML logical bitstreams.
* covers 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.
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.
Line 21: Line 21:
== .ogv - video/ogg ==
== .ogv - video/ogg ==


* a/v in Ogg
* Ogg Video Profile (a/v in Ogg container)
** Theora, Theora + Vorbis, Theora + Speex, Theora + FLAC, Dirac + Vorbis, MNG + FLAC, Tarkin, OggUVS
* apps supporting .oga, .ogv SHOULD support decoding from muxed Ogg streams
** May contain Ogg Skeleton and/or CMML logical bitstreams.
* covers Theora, Theora + Vorbis, Theora + Speex, Theora + FLAC, Dirac + Vorbis, MNG + FLAC, OggUVS omsode Ogg
* 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 ==
== .spx - audio/ogg+speex ==


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



Revision as of 05:10, 16 May 2007

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


.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 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 Theora, Theora + Vorbis, Theora + Speex, Theora + FLAC, Dirac + Vorbis, MNG + FLAC, OggUVS omsode Ogg
  • 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


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 (?)