[vorbis-dev] Re: ogg stream-id options

Ali Abdin aliabdin at aucegypt.edu
Fri Nov 17 10:30:37 PST 2000



* Ralph Giles (giles at ashlu.bc.ca) wrote at 16:18 on 17/11/00:
> In http://advogato.net/person/rakholh/diary.html?start=165 Ali wrote:
> 
> >  For same reason I am arguing with people on vorbis-dev - but I don't
> > understand what the argument is about (considering that the vorbis
> > developers proposed a solution which mjs and I thought was reasonable,
> > and then some developers decided to criticize us again for no reason).
> 
> Goodness, get dropped from the list and miss the return of the son of the
> favorite flamewar. :^)
> 
> I don't know what you're arguing about either. But monty's talking about
> adding a toc substream sooner rather than later, so here's how I see our
> options:

Actually, I thought I was just defending myself from criticism :)
 
> Right now, the only thing we produce are 'degenerate' ogg files. They
> *only* contain a single vorbis audio stream. We've been telling people the
> file extension is .ogg, to to magic detection on the initial OggS, and
> that the mime-type is application/x-ogg.
> 
> We reevaluated the extension issue (the answer was no) and the mime-type
> issue (we were swayed) and decided we'd recommend multiple mimetypes when
> we have the video codec working, and add efficient discrimiation to the
> requirements for the toc/metadata substream we'd always planned on.

I have no objections with that.

> None of this is a pressing issue; the useability arguments are moot until
> we actually have both audio and video data.

If none of this is a "pressing issue" then why can't I jus use audio/x-ogg and
then switch to application/x-ogg when you guys develop a video codec? ;)
(currently we use application/x-ogg as the mime-type so I have been complying
to your requests :)

> That's the story so far.
> 
> Now, what are our options for implementation?
> 
> I'd proposed we combine the toc header with the kitchen-sink metadata
> people have requested, and that we use xml-encoded rdf based on the Dublic
> Core element set to do it. I still think this is the best option. XML is
> the most obvious way to encode text streams (what subtitles should be) so
> we can share part of the code, and conceptually the substream type. It
> also offers good interoperability with indexing/catalog systems and plenty
> of flexibility for future requirements.

Thats interesting, there is a project I am related to that is working on the
Dublin Core stuff (Dubline Core == Object Metadata Framework right?)

XML could be too "heavyweight" to parse (the tags "waste" space :P) this has
consequences for file-size, streaming, embedded devices ;) i.e:
compare the number of chars:
<title>Lala</title> (19 chars)
Title=Lala (10 chars)

Its not a /huge/ difference I know - but every little bit counts doesn't it?
;)

> Note that this doesn't really allow mime magic detection of the 'sequence
> x at offset n' type. What I meant earlier about substring searching is
> that you first look for the initial OggS, then search for '<useage>' in
> bytes 15-200 and case on whatever comes immediately after it.

This provides no advantages over the current method, I believe. Basically we
would be still stuck with an algorithmic approach to determining the
file-type's contents.

It is better than the current solution (which doesn't exist) - but is not the
ideal solution (in my humble opinion).

Perhaps the '<usage>' should be the first tag within toc header or something?
(giving you what you want, and giving us what we want)

> But the time for that isn't now. Aside from not having the resources to
> implement it, the standards for this sort of thing are very much still in
> flux. Rob (of musicbrainz.org) and I couldn't even reach an agreement on
> the encoding, and to support the general case is both unwieldy and
> expensive, and likely to be obsolete next year. If we can wait 6-12
> months, there should be much more of an external standard we can
> incorporate. The librarians think this is a hard problem too.
> 
> Better, our solution will be a much closer fit if we give ourselves a
> chance to evolve the format through usage while we're developing the video
> codec.
> 
> If we had to do it NOW, I'd suggest something based on the vorbis
> comment header, with (possibly hierarchic) text vectors in a set order.
> The substream would consist of a head page and an empty tail page.
> 
> The first element would be something like "STREAMCLASS=audio". This would
> allow mime magic filetype detection if we require that the toc always be
> first. Others would follow like so:
> 
> general bitstream headers:
> 	STREAMCLASS=video
> 	<misc metadata a la vorbis/kitchensink?>
> substream 8347929:
> 	STREAMTYPE=toc	(this example)
> substream 2361643:
> 	STREAMTYPE=tarkin
> 	LAYER=0		(means this is a primary stream, not an overlay)
> 	USAGE=default	(not an alternate track)
> substream 8293298:
> 	STREAMTYPE=vorbis
> 	SUBTYPE=surround	(could be a mapping number instead)
> 	LAYER=0
> 	USAGE=default
> 	LANG=en
> 	LABEL=English surround audio
> substeram 0923470:
> 	STREAMTYPE=vorbis
> 	SUBTYPE=stereo
> 	LAYER=0
> 	USAGE=alternate
> 	LANG=es
> 	LABEL=director's commentary
> substream 7829372:
> 	STREAMTYPE=mng		(these would be pre-rendered subtitles)
> 	LAYER=1
> 	LANG=jp
> 	http://advogato.net/person/rakholh/diary.html?start=165
> ..and so on. The substream numbers refer to the logical substream ids, for
> easy correlation. They could be encoded either as separate section
> headers, or a part of the tags in a linear arrangement.
> 
> That's about as general as I can make it right now, and I think something
> (particularly a forwards-compatible vorbis-only implementation) could be
> written in time for 1.0.

Regards,
Ali

--- >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-dev-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-dev mailing list