[theora] Indexing Ogg files for faster seeking

Conrad Parker conrad at metadecks.org
Thu Sep 24 21:38:20 PDT 2009


2009/9/24 Chris Double <chris.double at double.co.nz>:
> 2009/9/24 Ivo Emanuel Gonçalves <justivo at gmail.com>:
>> However, were this index idea an expansion on Skeleton, you would
>> remove the unecessary complexity of adding yet another metadata stream
>> to the mix and build on what exists.  Win-win, I say.
>
> Having it as a separate stream does allow adding of additional index
> tracks using existing tools. It makes it relatively easy for a server
> to generate the index track on the fly, add it to an existing ogg
> file, and send that file at a clients request for example.
>
> That said, I'd be interested in seeing how you'd modify the skeleton
> specification such that it can have indexes inside it. Can it be done
> without breaking existing applications that parse skeleton streams?

Currently the skeleton track goes:

fishead (bos)
n * fisbone (one per data track)
eos

I would suggest simply adding an index packet for each track after the fisbones:

fishead (bos)
n * fisbone
n * index
eos

The global data of the index track could be added at the end of the
fishead, as silvia suggested.

Conrad.


More information about the theora mailing list