[whatwg] <video> element feedback

Silvia Pfeiffer silviapfeiffer1 at gmail.com
Fri Mar 23 13:57:24 PDT 2007

How about the following idea:

Example.html contains:

<video id="myvideo_1" src="video.ogg">
  to provide the full video

<video id="myvideo_2" src="video.ogg?t=0:12:35">
  to provide the video from offset 12:35

<video id="myvideo_3" src="video.ogg?t=0:12:35/0:20:40">
  to provide the video segment between offset 12:35 and 20:40

<video id="myvideo_4" src="video.ogg?id=section4">
  to provide the video from named offset "section4"

These provide the Web page author with the power to do offsets.

And example URLs relating to the webpage:

  to provide the Web page with the first video playing from offset 12:35,
  offset action provided by  the UA (i.e. video gets fully downloaded)

  to provide the Web page with the first video playing section 12:35-20:40,
  UA resolves this to create a query for video.ogg?t=0:12:35/0:20:40,
  offset action provided by the server

These provide the user with control over the start points of the
videos on the Webpage.

These two URIs with fragment offsets would currently not work in a Web
browser. However the set of URIs that I provided inside the <video>
tag above already work through the Annodex framework for ogg files.


On 3/24/07, Kornel Lesinski <kornel at osiolki.net> wrote:
> On Fri, 23 Mar 2007 10:24:30 -0000, Silvia Pfeiffer
> <silviapfeiffer1 at gmail.com> wrote:
> >> Let's say there's http://example.com/example.html page which contains
> >> embedded video:
> >> ...<video src="video.ogg">...
> >>
> >> I'd like to be able to construct URL like:
> >> http://example.com/example.html#@12:35
> >> that would cause UA to start playing the embedded video.ogg from 12:35.
> >
> > That would be hard, because how would you identify which embedded
> > video or audio file on the example.html page this temporal offset is
> > referring to?
> I think it might work like this: when play() is called on a <video>
> element, and it hasn't been called on any other video element in this
> document yet, read time from location.hash and call seek().
> This would work with dynamically created <video> elements and would
> probably be the best choice even if there are multiple <video> elements in
> the document.
> If such altered behavior of play() is not unacceptable, then that might
> work:
> http://example.com/example.html#myvideo@12:35
> Where "myvideo" part is interpreted as ID of element in the document (and
> if there's no such element - assume document.body).
> If the element is a <video>, then seek() that video.
> If it isn't, then seek first <video> descendant of that element (something
> like: (document.getElementById("myvideo") ||
> document.body).getElementsByTagName('video')[0].seek(12*60000+35000))).
> My rationale:
> * it doesn't require any changes to the document, so user can control
> starting position in any document, even if author didn't think of such
> possibility
> * It's part of document's URL, not URL of the video file, so user doesn't
> have to extract video file URL from the document and can still use the
> page (which provides controls for the video).
> * it can be implemented in JavaScript with current <video> API (also in
> User JavaScript, but I think for interoperability it's important to be
> part of the spec).
> * it's orthogonal to server-side support for seeking
> > Also, it could be interpreted by the UA only, since
> > everything after "#" will not be transferred to the server.
> Yes, that's intentional. It allows user to modify *any* URL without risk
> of breaking it (some servers/applications may not like extra query
> string). I think use of hash for this is appropriate - just like UA
> scrolls HTML to given element, UA would "scroll" the video - it's just a
> change of axis from Y to time :)
> --
> regards, Kornel Lesiński

More information about the whatwg mailing list