MIME Types and File Extensions: Difference between revisions
No edit summary |
|||
Line 12: | Line 12: | ||
* 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 ignore it but MAY still decode the ones they can | * apps that identify a logical bitstream which they cannot decode SHOULD ignore it but MAY still decode the ones they can | ||
* thus, . | * thus, e.g. an annodex file can gracefully degrade to .ogx if an app cannot decode [[CMML]] and/or [[Skeleton]] | ||
== .oga - audio/ogg == | == .oga - audio/ogg == |
Revision as of 08:41, 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.
.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 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
.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 ignore 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 video 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 (?)
- text/cmml for CMML without container