[vorbis] Why the commotion about file extensions?
Kenneth C. Arnold
kcarnold at arnoldnet.net
Mon Jul 14 20:28:16 PDT 2003
Tom Felker wrote:
>.vorbis_ogg
>.ogg_vorbis
>.vorbisogg
>.oggvorbis
>
>
(etc.)
Here's a suggestion that has been touched on here before but I don't
think fully elaborated: profile-based extensions. The idea is really
two-sided: From the user's point of view, it's an extension based on
what they consider the primary focus of the media in the file. From the
application and shell's point of view, the extension represents a
"profile" that is the minimum capabilities the player needs to render
the file. This lends to extensions as general as .audio, for the user
that doesn't care about formats, but also implies that whatever player
claims the ability to play the ".audio" profile must be able to figure
out what format it is and what decoder it needs, much like current audio
players. Most movie players can already determine both video and audio
codecs dynamically (at least for AVI and OGM formats), so ".movie" is a
possibility. The difference between that extension and the (technically)
equally applicable ".video" extension could be just for the user's
benefit: a ".movie" might imply "turn the lights down, go full-screen,
and set up the surround sound", while ".video" might mean "play in a
window and don't bother me with this". Anyway, I imagine you could go
for a kind of hierarchy of these extensions, from most general to most
specific, with description of the stream and/or the player needed to
play it:
.media - General purpose media player (MPlayer, xine, wmp, etc); any
file format within reason, could include full metadata stream, menus,
subtitles, interactivity -- the works; this is what .ogg, .ogm, QT, etc.
are today
+-.video - General purpose video player, also able to play sound
according to the ".audio" profile and synchronize it to the video, but
might not need interactive elements -- implies to the user that the
stream contains video - I'd map .avi to this player
+- .movie - Shut off the screen saver and switch on the power saving
mode because I want to finish the whole thing on /this/ battery pack...
or: turn on the projector and turn down the lights... whatever suits the
user.
+- .animation - Video-only stream (perhaps there's a better extension
name for that)
+- .theora - VP3 video with Vorbis audio in an Ogg container (example
of a very specific extension)
+- .mpeg - MPEG video and audio stream in an MPEG transport stream
+- .divx - people use this a lot to mean ".avi"; why not make it
semi-formal: MPEG-4 video and whatever audio codec in whatever container
format (to allow people to use it for their existing illegal
MPEG4/Vorbis OGM's)
+- etc.
+- .audio - General purpose audio player, any format within reason,
perfect for Winamp or XMMS
+- .music - user-specific extension, probably implies reasonably high
bitrate on a high-quality codec
+- .vorbis - Vorbis audio in an Ogg stream
+- .vorbislite - Hypothetical "lite" Vorbis for portable players
+- .midi - assume player will probably render this in software
+- .radio - user-specific extension, probably implies lower bitrate
(lower quality)
(Vorbis and MP3 also, though assumed low-bitrate)
+- .exactaudio - lossless compression (.losslessaudio just seemed too
long)
+- .speech - user-specific extension, implies generally speech-only
audio (though perhaps with the ability to switch into a .music -class
codec in e.g. comedy where sometimes music is interspersed; for safety,
play with the .audio player)
+- .speex - Speex audio in an Ogg stream
+- .mp3 - MPEG Layer 3 audio in an MPEG stream
+- etc.
+- script - files that control specific actions
+- .midicontrol - MIDI that should be played on a full system,
probably with extra things like lighting control
+- .swf - Macromedia Flash (example only)
+- .subtitles - whatever subtitle format; probably paired with a .video
but separate for editing or whatever
+- .etc - anything else I can't think of off the top of my head
Of course this is a very preliminary sketch of what such a system would
be like, but I think the underlying idea should be clear: by making the
extension meaningful to the user, the choice of player to launch is just
about made. People say ".mp3" to mean digital audio -- it's not
ignorance, it's just lack of a better term. Most don't care that it's
MPEG Layer 3, only that Winamp will play it. So why not just call it
".audio" or ".music"? That retains the user's association -- and thus
the shell's association -- of file with content and player able to play
it, increasing generality without decreasing practical utility.
Just a thought,
Ken
<p>--- >8 ----
List archives: http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/
To unsubscribe from this list, send a message to 'vorbis-request at xiph.org'
containing only the word 'unsubscribe' in the body. No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.
More information about the Vorbis
mailing list