[whatwg] HTML5 video: frame accuracy / SMPTE

Roger Hågensen rescator at emsai.net
Fri Jan 21 16:47:45 PST 2011

On 2011-01-22 01:27, Silvia Pfeiffer wrote:
>> It seems surprising to me that we'd want to expose something so deeply
>> internal while the API fails to expose things like chapters and other
>> metadata which can actually be used to reliably map times to
>> meaningful high level information about the video.
> Chapters have an API:
> http://www.whatwg.org/specs/web-apps/current-work/multipage/video.html#dom-texttrack-kind-chapters
> .
> However, chapters don't have a seeking API - this is indeed something
> to add, too. Could it fit within the seek() function? e.g.
> seek(chaptername) instead of seek(time)?
> Silvia.

The issue with that is that if chapter or index info does not exist the 
seek will fail.
At least with TIME and FRAME you are guaranteed to seek (and even if 
frame is keyframe you'd still end up at a frame near).

To me only TIME makes sense right now as HH:II:SS.MS 
(hours:minutes:seconds.milliseconds) and FRAME if <1ms for rare cases 
where video is more than 1000fps.
Benefit of TIME is it's framerate agnostic, so 00:15:20.050 would be the 
same wether the FPS is 24 or 30.
Which is ideal in the case of framerate changes due to being bounced 
up/down to a higher or lower quality stream while seeking or during 
I saw the spec mentioning doubles, I'm assuming that TIME would be a 
double where you'd have: seconds.fraction (which would even handle FPS 
in the thousands)
So I think that focusing on TIME and really pushing that would benefit 
all in the short and long run. an author can "easily" calculate and use 
FRAME from TIME anyway for the few users that would actually need to 
work with that.
Myself I've done some video editing, but I've done more audio editing 
than I can recall, and I've never missed using frames for audio or 
video, I prefer time and millisecond fractions myself, I sync audio on 
timestamp and not frames for example.

So maybe just let the flag be default and nothing else, but as mentioned 
previously, leave it an enum "just in case" for the future (I'm thinking 
possible future timing standards that might appear, though it's hard to 
beat doubles really).

Roger "Rescator" Hågensen.
Freelancer - http://www.EmSai.net/

More information about the whatwg mailing list