Re: Review of the Timing Object specification

Dear Tatsuya

"As I understood, If a web page contains one video element and synchronize
it with another device. There is not much difference between the example x
and example 6.  But if a web page contains multiple video elements, the
TimeObject helps the application to synchronize these with another device."

Not exactly.  I meant if your media experience is only one video in one web
page (not synchronized with anything) - then default playback mode is ok
(timed playback mode also ok).

As soon as you want to time-align video playback with something else (video
from another angle, race statistics and infographics, video ads, etc), in
the same web page, or in other webpages on other devices - support for
timed playback will make that a lot easier and better.

Time-aligning other stuff to the playback of video is already possible
(track element, popcornjs etc) - however the current timing model
(currentTime + timeupdate event) of the media element is not a good
starting point with respect to precision - particularly in the distributed
scenario. These solutions also typically depend on a single media element
being the master. This is a huge limitation. In contrast, support for timed
playback mode opens up for precise synchronization in massively distributed
applications - think thousands of smart phones doing synchronized playback
in a stadium - or millions in a broadcasting audience.

Also. as indicated by, Paul Gausman, the timing object spec is not only
about video playback. The home page of the timingsrc project gives a very
high level summary of the advantages of the timing object spec.

http://webtiming.github.io/timingsrc/index.html

Best, Ingar




2015-12-04 5:50 GMT+01:00 Igarashi, Tatsuya <Tatsuya.Igarashi@jp.sony.com>:

> Thank you, Ingar,
>
>
>
> I just want to understand the advantage of timing object spec.
>
>
>
> As I understood, If a web page contains one video element and synchronize
> it with another device. There is not much difference between the example x
> and example 6.  But if a web page contains multiple video elements, the
> TimeObject helps the application to synchronize these with another device.
>
>
>
> >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]
>
>
>
> -***---***---***---***---***---***---***---***---***--***---***---***-
>
> Tatsuya Igarashi (Tatsuya.Igarashi@jp.sony.com)
>
> Innovative Technology Development Div, System R&D Group
>
> Sony Corporation
>
>
>
>
>
>
>
>
>
>
>
> *From:* Ingar Mæhlum Arntzen [mailto:ingar.arntzen@gmail.com]
> *Sent:* Tuesday, December 01, 2015 8:52 PM
> *To:* Igarashi, Tatsuya
> *Cc:* fd@w3.org; public-web-and-tv IG; Ingar Mæhlum Arntzen; Njaal Borch
> *Subject:* 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 Friday, 4 December 2015 07:48:32 UTC