TPAC 2016: Multi-device Timing CG

Ingar Arntzen, Norut and Motion Corporation

Web + Timing

Ingar Arntzen

TPAC 2016 logo

Multi-device Timing CG

Web + Timing

Goal: define a common, multi-device, timing mechanism and a practical programming model for time-sensitive, multi-device Web applications

Presentation URL

https://goo.gl/AlR9Nm

Outline

Demo URL

Live Demo URL removed after presentation.

Demo featured echoless synchronization of HTML video and audio across Web browsers of audience laptops.

Part 1: Introduction

TPAC 2016 logo

Status CG

Status Media Capabilities

Some fresh media sync measurements in part 4

What is Multi-device Timing?

Timing Challenges

Challenge Use-case
across media sources multi-angle video, ad-insertion
across media types video + WebAudio + animated map
across iframes video + timed ad-banner
across tabs, windows, devices split content, interaction
across platforms Web, native, broadcast
across people and groups collaboration
across Internet global media experiences

Realities : page-internal timing

Realities : cross-page timing

Demo: Easy-peasy

https://youtu.be/D6cBn65KXTk

Part 2: Proposal

TPAC 2016 logo

Timing Objects

timing object
Multi-media frameworks always built around similar concepts. No such object in JS context...

Demo Timing Object

API Timing Object

        var vector = {
          position: 12.0, // position (units)
          velocity: 1.0, // velocity (units/second)
          acceleration : 0.0, // acceleration (units/second/second)
          timestamp : 1365.234 // timestamp performance.now 
        };
      

API Timing Object

        var to = new TimingObject({range:[0,100]});
        var vector = to.query();
        to.update({position:14.0});
        to.update({position:14.0, velocity:1.3});
        to.on("change", handler);
        to.on("timeupdate", handler);
        to.off("change", handler);
      

Page-internal Timing Objects

page-internal timing
Pass a timing object to all media components, and be done with it...

Online Timing Objects

online timing
Distributed media components connected to a single online timing object...

Demo Online Timing Object

Approach summary

online timing

Part 3: Applications

TPAC 2016 logo
applications

Social viewing

socialsync

Multi-screen

multiscreen

Multi-device

multidevice

Remote control

remotecontrol

Music

music

Split content and interaction

home

Multi-device capture

capture

Platform integration

integration

Part 4: HTML5 Media Sync

TPAC 2016 logo

Android Video

android-video

Nexus 6p

Android Audio

android-audio

Nexus 6p

Laptop Chrome Video

chrome-video

Normal Chrome (not beta or dev). Chrome often works better on Webm

Laptop Chrome Audio

chrome-audio

Normal Chrome (not beta or dev). Chrome often works better on Webm

Laptop Firefox Video

firefox-video

Firefox often works better on Webm

Laptop Firefox Audio

firefox-audio

Firefox often works better on Webm

iPad Video

ipad-video

Safari iOS 10 on brand new iPad Air 2

iPad Audio

ipad-audio

Safari iOS 10 on brand new iPad Air 2

iPad Video

ipad-video-skip

Avoid playbackrate - skipping only

iPad Audio

ipad-video-skip

Avoid playbackrate - skipping only

Part 5: Standardization

TPAC 2016 logo

Standardization

Some related initiatives

What's next?

Summary

Thanks for listening!

Ingar Arntzen
ingar.arntzen@norut.no
@ingararntzen

TPAC 2016 logo