gnash-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gnash-dev] 2nd try: How can Internet Archive flash script pick code


From: John Gilmore
Subject: Re: [Gnash-dev] 2nd try: How can Internet Archive flash script pick codec to use?
Date: Mon, 22 Sep 2008 01:19:42 -0700

> > How does this flash lite interface look like ?
> 
> The following return arrays of MIME types:
> 
> System.capabilities.videoMIMETypes
> System.capabilitites.MIMETypes
> System.capabilities.audioMIMETypes
> 
> It should be noted, though, that a MIME type like video/ogg or audio/ogg
> only shows that the OGG container can be handled, and doesn't reveal
> whether codecs for the contained video or audio streams are present, so
> there's still guesswork involved. The type video/ogg could be
> Theora/Vorbis, Theora/Speex, Theora/FLAC, Dirac/FLAC, Dirac/Vorbis,
> MNG/FLAC or OggUVS inside OGG (whatever that is). (See
> http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions)

I like this idea best.

Adobe's description of Flash Lite doesn't say, of course, what the
mime types are returned for popular formats.  Indeed, this interface
just looks like it documents the container types, not the codecs.
There's confirming info about this in a tutorial:

  http://mobiforge.com/designing/story/flash-lite-and-video-streaming

which shows "video/3GP" as a returned type, and also describes the
wide variety of codecs usable within that type.  Dumb.  

I suggest that we add a parallel interface,

  System.capabilities.videoDecoderTypes
  System.capabilities.audioDecoderTypes
  System.capabilities.videoEncoderTypes
  System.capabilities.audioEncoderTypes

which would return the necessary info.

Then a Flash movie would be able to check for both container support
and for codec support (for both video and audio, potentially) if it
wanted to select among copies of a movie in various formats.

We should also draft a spec for such an interface, put it in the
public Gnash documentation, and feed it to Adobe for consideration in
future revisions of Flash.  We can implement it regardless of what
they do, but at least we'll be doing OUR part to avoid needless
incompatability.

Very drafty draft (from this, you already know I don't understand
ActionScript syntax): In a system with Gnash, configured to use ffmpeg
or gstreamer, in which the configured media library contains these
decoders.  (Depending on what other codec plugins are available, lots
more will also be described in these arrays.)

  System.capabilities.videoMIMETypes ["video/ogg"] will be true.
  System.capabilities.audioMIMETypes ["audio/ogg"] will be true.
  System.capabilities.audioDecoderTypes ["vorbis"] will be true.
  System.capabilities.audioDecoderTypes ["speex"] will be true.
  System.capabilities.audioDecoderTypes ["flac"] will be true.
  System.capabilities.videoDecoderTypes ["theora"] will be true.

The codec names should generally be in lowercase, so people won't have
to case-match them.  (We may be stuck with random cases in the MIME
types, like the above "video/3GP", but at least we can do better in
our own interface.)  Some will be nonintuitive, e.g. MP3 won't be
called mp3 because it's real name is something else; mp3 is a
high-speed collision between a container format and a codec.

Currently, we don't provide any audio or video ENcoding, do we?  (E.g.
for audio or video conferencing.)  If so, those variables should also
be set appropriately.

        John




reply via email to

[Prev in Thread] Current Thread [Next in Thread]