<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">
<br><div><div>On Mar 23, 2007, at 1:27 PM, Silvia Pfeiffer wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">On 3/23/07, Nicholas Shanks <<a href="mailto:contact@nickshanks.com" com_apple_mail_added="yes">contact@nickshanks.com</a>> wrote:<br><blockquote type="cite">Can't we have all of:<br></blockquote><blockquote type="cite">1) A way for authors to match up timecodes with fragment identifiers<br></blockquote><blockquote type="cite">in the fallback content<br></blockquote><blockquote type="cite">2) A way for UAs to skip to that time code if a fragment identifier<br></blockquote><blockquote type="cite">is requested and it's contained within fallback the UA isn't displaying<br></blockquote><blockquote type="cite">3) And a way for users to link to timecodes that aren't marked up at<br></blockquote><blockquote type="cite">all.<br></blockquote><br>I completely agree.<br><br>Since we have to stick with the way that URIs are defined and the way<br>that HTTP works, we can realise these in the following ways:<br><br>1. Either the fallback content has a means in which fragment<br>identifiers are encoded into the video (as e.g. CMML/Annodex provides<br>for Ogg Theora, or chapter markers in QuickTime), or the UA can<br>request this information from the server, where it may be stored in a<br>DB or in a XML file (such as CMML) and can be returned to the UA.<br><br>2. Again, there are two alternatives that are possible - either using<br>the fragment ("#") for identifiers or using queries ("?") to provide<br>the offset (or named anchor, or time section) in the URI. When using<br>fragments, the UA first has to download the full file and then<br>undertake the offset for playback itself. When using queries, a server<br>module can do the offset and thus avoid potentially large amounts of<br>binary data to be downloaded to the UA which the users may never want<br>to look at. The use of queries will be absolutely necessary for mobile<br>phones for example, where you pay through the nose for bandwidth use.<br><br>3. covered in my reply to 2.<br><br>I know of only one format that provides for all this functionality at<br>the moment and that is Ogg Theora with the Annodex and CMML<br>extensions.<br><br>In particular the part where a server component is required to provide<br>a valid file from a time offset (and - don't get me wrong - a anchor<br>is nothing else but a named time offset) is unique. Annodex has a<br>apache module called mod_annodex to provide this functionality. And it<br>has python, php and perl bindings to provide this functionality<br>through typical Web scripting languages.<br><br></blockquote><div> Even without a server component, #2 and #3 do not require the UA to download the full file if it can use byte range requests for random access and the file format has time to offset tables (eg. the 'moov' resource in a QuickTime movie or ISO-based file, the 'movi' LIST chunk in an AVI file, etc).</div><div><br class="webkit-block-placeholder"></div><div>eric</div><div><br class="webkit-block-placeholder"></div><div><br class="webkit-block-placeholder"></div><div><br></div></div></body></html>