[whatwg] <video> element feedback
giles at xiph.org
Sat Mar 24 11:47:49 PDT 2007
On Fri, Mar 23, 2007 at 04:33:39PM -0700, Eric Carlson wrote:
> Yes, the UA needs the offset/chunking table in order to calculate
> a file offset for a time, but this is efficient in the case of
> container formats in which the table is stored together with other
> information that's needed to play the file. This is not the case for
> all container formats, of course.
Just to be clear, this isn't strictly true; one can still perform
bisection seek over HTTP with the byte Range header. As has been
mentioned, VLC implements this. Alsaplayer is another example. It
does work. It's of course less efficient than when one has a seek
table, but not excessively so.
Tangentially, I at some point looked at implementing 'seconds' as
a Range header unit in Apache. (The HTTP Range header allows arbitrary,
units, bytes is just the only one that is defined by the spec). The
idea was to have the server do the seeking and return a valid file
starting at the requested time offset, or list of intervals. Then
a client could do very naive seeking and just play what it got.
In the end I abandonded it over worry with cache interaction. If you
request a sequence of intervals you don't in general get the same byte
stream as if you request the whole file, because the server is
re-packaging the data for each request. With Ogg this sort of works,
because concatenated streams are still in spec, so the "decoded result"
is the same, but it doesn't work for all containers. The annodex query
path seemed a better choice.
More information about the whatwg