[ogg-dev] [theora-dev] handling multitrack Ogg

Benjamin M. Schwartz bmschwar at fas.harvard.edu
Tue Feb 2 16:05:21 PST 2010

Silvia Pfeiffer wrote:
> There are two issues right now that we are discussing right now, I think:
> 1. Addressing a track uniquely
> 2. Ordering tracks for display
> It seems for addressing we could either use the serialnumber, really
> introduce the Track-ID, or address by role/language and a somehow
> introduced order (e.g. subtitle[en][1]). A proper readable name would
> be the best, IMO, even if it ends up being something like "sub_en_1"
> because it is machine-created.

To make the system work with existing files, the serialnumber should be
used to identify tracks.  If I want to improve an existing file, I should
be able to add a Track-ID for some or all of the tracks.  For those
tracks, serialnumber references and Track-ID references should work
interchangeably.  The Track-IDs should be readable/meaningful, because the
tracks already have random unique identifiers.

Tracks should also probably have (optionally) localized names, but truly
user-facing names seem to be separate from Track-ID.

> It seems that for display ordering we can either introduce an order
> through the given bos sequence, or order by a combination of
> role/language, or introduce a numbering scheme.

I think I'm voting for "role".  In most cases, the stream's roles (e.g.
main, subtitle, sign, censor, overlay) should be sufficient for the player
to determine the ordering.  In the rare case where the streams really need
to be stacked in a way that is not otherwise obvious*, we can tag each
stream as "Overlay-Above:[stream identifier of the next lower stream]".
This is pretty much Conrad's suggestion.  Alternatively, streams could
optionally be tagged as "Overlay-Layer: [number of layers above the base

The layer ordering should be read/write in the browser.  That is,
javascript (and maybe even html) in the browser should be able to control
the layering, even compositing streams from different source files.  The
layering specified in the file is therefore most important for playing
outside of a browser, where there is no other source of layering info.
Even there, layer ordering will usually be obvious, but in unusual cases
(e.g. a movie with subtitles, overlaid with MST3K[1] graphics and
subtitles for the commentary) the layering hints will be useful to
standalone players.

[1] http://en.wikipedia.org/wiki/Mst3k

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: OpenPGP digital signature
Url : http://lists.xiph.org/pipermail/ogg-dev/attachments/20100203/c989d071/attachment.pgp 

More information about the ogg-dev mailing list