[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