IIIF / iiif-av

The International Image Interoperability Framework (IIIF) Audio/Visual (A/V) Technical Specification Group aims to extend to A/V the benefits of interoperability and the growing ecosystem of clients and servers that IIIF provides for images. This repository contains user stories and mockups for interoperable A/V content – contributions are welcome.
http://iiif.io/community/groups/av/
Apache License 2.0
13 stars 3 forks source link

Useful to surface the time code that's currently played #28

Open jronallo opened 8 years ago

jronallo commented 8 years ago

Description

Useful to surface the time code that's currently played. Want to trigger events based on time point being played in the browser. HTML5 video can be queried for time points. Popcorn. Offset from start point? Multiple items playing (need global clock)? Custom iframe players (youtube assets in iframe, etc) - how does player get the low-level time?

Proposed Solutions

Easy with regular video stream, as get it from HTML5. Hard with iframe, needs spec.

Additional Background

Source: BL workshop notes Interest: 100%

azaroth42 commented 8 years ago

Implementation issue, but the canvas level clock needs careful consideration.

jronallo commented 8 years ago

Agreed that this is an implementation issue. Trivial to get the current time of a playing HTML5 video via JavaScript. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/currentTime

Any global clock for a canvas or set of canvases seems like the tricky piece which #20 refers to without much information.

zimeon commented 8 years ago

Won't it be the case that the information needed to 'paint' a video onto the canvas will also provide the information needed to translate the current playing time of the playing HTML5 video back into canvas time? (Done in the client)

azaroth42 commented 8 years ago

Discussion on WG call that if the client has access to the time (either per media resource, or global at the canvas) it can expose it to the user if required, so no need to distinguish as use cases. No known way or use case for the clock to be exposed from the server, only consideration would be synchronization of the time with the segments of the resource(s) being rendered via the AV API.

workergnome commented 8 years ago

Rounding is going to be an issue here (and in other places.) For instance, audio is often 44khz, video is often 24 fps, and if we use decimal time, we're going to have to deal with varying quantizations, based on media type, on the same canvas.

azaroth42 commented 7 years ago

Propose close, as no API interaction.