[whatwg] HTML5 video: frame accuracy / SMPTE

On 2011-01-21 22:57, Silvia Pfeiffer wrote:
> On Sat, Jan 22, 2011 at 8:50 AM, Roger H?gensen<rescator at emsai.net>  wrote:
>> On 2011-01-21 22:04, Philip J?genstedt wrote:
>>> Concretely: Add seek(time, flags) where flags defaults to nothing.
>>> Accurate seeking would be done via seek(time, "accurate") or some such.
>>> Setting currentTime is left as is and doesn't set any flags.
>> Hmm. I think the default (nothing) should be synonymous with "best-effort"
>> (or "best") and leave it to the browser/os/codec/format/etc. as to what
>> "best effort" actually is.
>> While "accurate" means as accurate as technically possible, even if it means
>> increased resource use. I can see online video editing, subtitle syncing,
>> closed caption syncing, and audio syncing being key usage examples of that.
>> And maybe a "simple" flag for when keyframe or second seeking and similar is
>> good enough, preferring lower resource seeking.
>> So "best" ("" default) and "accurate" and "simple", that covers most uses
>> right?
>
> Not really. I think "simple" needs to be more specific. If the browser
> is able to do frame accurate seeking and the author wants to do
> frame-accurate seeking, then it should be possible to get the two
> together, both on keyframe boundaries and actual frame boundaries
> closest to a given time.
>
> So, I think what might make sense is:
> * the default is best effort
> * ACCURATE is time-accurate seeking
> * FRAME is frame-accurate seeking, so to the previous frame boundary start
> * KEYFRAME is keyframe-accurate seeking, so to the previous keyframe
>
> Cheers,
> Silvia.
>
>

Hmm, that sounds good, though I think that this would be more intuitive:
* default is best effort (if the interface for seeking isn't that 
accurate which can happen with small screen devices, or the author 
doesn't care or need accuracy, best effort is what happens today anyway)
* TIME (accurate seeking, millisec "fraction" supported)
* FRAME (accurate seeking, previous/next depending on seek direction)
* KEYFRAME (keyframe seeking, previous/next depending on seek direction)

The default/best effort, may be any of TIME or FRAME or KEYFRAME or even 
a combo of TIME and FRAME, it all depends on the 
OS/Browser/Device/Format/Codec/Stream.
An author must be able to test/check if TIME or FRAME or KEYFRAME is 
available, if none are available then only the default best effort is 
available.
If the author just chooses the default, but the browser actually 
delivers TIME or FRAME or KEYFRAME accuracy, then that should be relayed 
in some way so the author can display the correct units to the user 
visually or even convert them if possible,
like for example default/best effort seek is used but the actually 
seeking is FRAME then the author could convert and display that as a 
TIME value instead, as time is less confusing for average users than 
frame numbers.


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

Received on Friday, 21 January 2011 14:18:47 UTC