Re: Review of the Timing Object specification

Dear Tatsuya Igarashi

Thank you !

These two examples represent different approaches to similar goals.

In example X you ask the video to play - an it plays in its own timframe
(progression defined ultimately by the media stack).
In example 6 you specify a timing object as timeframe (progression
ultimately defined by performance.now() or a timing provider) and asks the
video to align itself.

If all you want to do is to play a video in a single video element - then
this distinction is of marginal interest.
However, if you want to time-align video playback with something else - in
the same web page or on another device, this distinction becomes important.
You may read more about this distinction in the timing object spec under
"timed playback mode" [1]

We have demonstrated that it is somewhat possible in JavaScript to force a
video element to be time-aligned with a timing object. This works best when
variable playbackrate is supported by the video element. The solution is
based on continuously monitoring the diff between timing object and
currentTime of video element, and performing appropriate adjustments. You
can check out the code here [2]

We also have published a report [3] on how well media elements currently
responds to such "abuse". However, in order to improve further, browser
support is required.

You may also verify example 6 in your own browser by opening this demo [4]
of two videos synchronized by the timing object. JS libraries are available
in the timingsrc repository [5]

[1]
http://webtiming.github.io/timingobject/#media-elements-and-the-timing-object

[2]
https://github.com/webtiming/timingsrc/blob/master/source/mediasync/mediasync.js
[3] https://lists.w3.org/Archives/Public/public-webtiming/2015Oct/0003.html
[4]
https://github.com/webtiming/timingsrc/blob/master/examples/mediasync.html
[5] https://github.com/webtiming/timingsrc


Hope this is clarifying :)

Best regards,

Ingar Arntzen







2015-12-01 11:26 GMT+01:00 Igarashi, Tatsuya <Tatsuya.Igarashi@jp.sony.com>:

> Hi,
>
>
>
> Media Timeline Synchronize is one of the most interesting topics in Media
> industry.
>
>
>
> I wonder that the following two examples are the same semantically. Most
> media player of browsers do not support any of playback speed rates.  Also,
> execution of javascript code is not in real-time. How does the Time Object
> proposal improve accuracy of timeline synchronization of HTML5 media?
>
>
>
> Example 6: Use timing object to control a video
>
> var video; // Pointer to a video element in the DOM
>
> var to = new TimingObject();
>
> video.timingsrc = to; // Video now directed by timing object
>
>
>
> // Start timing object (video seeks and starts by implication)
>
> to.update({ position: 5.0, velocity: 1.0 });
>
>
>
> Example X : synchronize media timeline of a video
>
> var video; // Pointer to a video element in the DOM
>
>
>
> // Sync media timeline (video seeks and starts with the rate)
>
> video.currentTime=5.0;video.playbackRate=1.0;video.play();
>
>
>
> -***---***---***---***---***---***---***---***---***--***---***---***-
>
> Tatsuya Igarashi (Tatsuya.Igarashi@jp.sony.com)
>
> Innovative Technology Development Div, System R&D Group
>
> Sony Corporation
>
>
>
>
>
> -----Original Message-----
> From: Francois Daoust [mailto:fd@w3.org]
> Sent: Tuesday, December 01, 2015 1:22 AM
> To: 'public-web-and-tv IG'
> Cc: 'Ingar Mæhlum Arntzen'; 'Njaal Borch'
> Subject: Review of the Timing Object specification
>
>
>
> Hi Web and TV IG participants,
>
>
>
> Back at TPAC in Sapporo, I presented the Timing Object specification,
> developed by the Multi-Device Timing Community Group to enable single- and
> cross-device synchronization scenarios. I took an action to send the draft
> spec to the Web and TV IG for review.
>
>
>
> The Multi-Device Timing Community Group would welcome your feedback on the
> spec by 8 January 2016 (so that it can decide on next steps early next
> year). The latest draft is available for review at:
>
>
>
>   http://webtiming.github.io/timingobject/
>
>
>
> The Multi-Device Timing Community Group does not anticipate any major
> change to the specification by January. Main open issues are referenced
> from within the spec itself to ease review from an external perspective.
> The group uses GitHub to track issues otherwise:
>
>
>
>  https://github.com/webtiming/timingobject/issues
>
>
>
> At this stage, the CG is particularly interested in:
>
>
>
> 1. discovering Web and TV use cases and requirements that the spec may not
> properly address 2. discussing the proposed mechanism to associate a timing
> object to an external timing resource through code provided by a
> third-party timing resource provider; 3. evaluating the main technical
> hurdles from an implementation perspective.
>
>
>
> The CG also invites all interested parties to join the Multi-Device Timing
> CG and let themselves known.
>
>
>
> Thanks,
>
> Francois.
>
>
>
> PS: Some of you wondered at TPAC whether there existed an open-source
> prototype implementation of the spec in JavaScript. Ingar and Njaal have
> been working on it, see announcement today at:
>
>
> https://www.w3.org/community/webtiming/2015/11/30/first-implementation-of-timing-object-draft-spec/
>
>
>
>
>
>

Received on Tuesday, 1 December 2015 11:52:09 UTC