[annodex-dev] Timed URI seeking without mod_annodex

Andre Pang Andre.Pang at csiro.au
Mon Feb 21 17:04:23 EST 2005


On 20/02/2005, at 11:40 AM, Conrad Parker wrote:

> So, seeing as you've decided to put your energy into presupposing this
> particular problem, can you come up with a "serverless" solution that
> isn't too hard for crawlers and random media frameworks to implement
> clientside (ie. you'll provide your simple library in all languages 
> that
> have HTTP modules, right?), ensures that the seektables and the media
> content are consistent, has a mechanism for retrieving CMML, and 
> ensures
> that CMML is consistent with the content? (remember, you're not allowed
> any server-side code to ensure this consistency!) Can you specify that 
> it
> ensures all the fisbone fields are correctly formed after the client
> performs the remux -- ie. you'll get the right set of basegranules, or
> are basegranules suddenly not useful? And so on, and so on -- redesign
> the whole thing, that's what you're asking to do.

Well, the approach that I've always wanted to see is to store the CMML 
in a separate file from the raw media, and having the client always 
"play" the CMML, rather than the media.  This is analagous to HTML, 
which is sometimes self-contained, but often references other media 
(such as JPG images) that are required to successfully display the 
entire page.

Storing the CMML separately has the drawback that now it's not so 
closely associated with the original media, but this is also an 
advantage, since it can be more easily edited.  Again, this is 
analogous to HTML, which can be edited e.g. without "recomposing" the 
HTML page with the other elements required on the page, such as images. 
  It also has the huge advantage that no server-side support is required 
for a search engine to crawl the CMML, and if the seektable idea that 
I've been discussing is used, a client doesn't need any server-side 
support to play the media too.  A dubious bonus is that we also don't 
need to do any extra work to make all this cache-friendly, since the 
client is required to use byte-range combination from the start, rather 
than optionally implementing it.

The major problem I see with this solution is the same as the 
client-side seektable scheme which I've been discussing: where do we 
store the seektable?  Do we expect the raw media file to store it, can 
we store it in the CMML (yecch), or do we put it in another separate 
file again, meaning that we now have the rather inelegant solution of 
three files which need to be moved around to have these features?  I 
was hoping to try to come up with a better solution than any of these 
three when I initiated the discussion.


-- 
: André Pang (x4180)
: Software Engineer, Networked Media : CeNTIE



More information about the annodex-dev mailing list