Les nouvelles applications multimédias sur le web avec HTML5 et SMIL

Cécile Roisin

Université de Grenoble

Inria - équipe WAM

Une approche déclarative pour synchroniser des contenus multimédias sur le web

  1. Qui sommes-nous ?
  2. Web multimédia : HTML5 et SMIL
  3. La librairie Timesheets.js
  4. Exemples
  5. Conclusion

Équipe WAM

Une équipe de recherche qui s'intéresse au web pour :

SMIL : Synchronous Multimedia Integration Language

Travail présenté ici : réalisé par Fabien Cazenave dans le cadre du projet ANR C2M

Le Web multimédia / HTML5

Les langages du web évoluent, avec HTML5, CSS3, SVG1.2 pour :

...mais de plus en plus de code côté client
(pour gérer les synchronisations, les interactions utilisateur, ... )

Comment faire du web multimédia sans écrire une ligne de JavaScript?

SMIL Timing & Timesheets

Positionnement des standards

SVG Timing (Click me!) Utiliser SMIL dans... ...un navigateur web ? Multimédia <audio> <video> Transitions Animations Interactions utilisateur (event-values) Structure temporelle synchronisation Structure du contenu SMIL couvre tous les besoins des applications multimédias. SVG 1.2 SVG 1.1 SVG couvre le multimédia, le contenu et les animations. Il comprend aussi une part significative de SMIL-Timing. HTML 5 HTML5 apporte le support de l' <audio> et la <video>. CSS 3 CSS3 gère les transitions et les animations. timesheets.js SMIL-Timesheets apporte le support du temps et de la synchronisation pour faire des présentations interactives, synchronisaant du contenu HTML/SVG avec des flux média.

La librairie Timesheets.js

La librairie Timesheets.js permet de :

timeContainer="seq"

Un conteneur seq définit une séquence d'éléments dans laquelle les éléments jouent les uns après les autres.

  1. first item
  2. second item
  3. third item
  4. fourth item
  5. last item


    

timeContainer="par"

Un conteneur par (pour parallèle) définit un groupement temporel dans lequel les éléments peuvent jouer en même temps.

  1. first item
  2. second item
  3. third item
  4. fourth item
  5. last item


    

timeContainer="excl"

Comme le conteneur par, mais un seul descendant peut jouer à la fois.
Si un élément doit jouer alors qu'un autre est en train de jouer, ce dernier est arrêté.

  1. first item
  2. second item
  3. third item
  4. fourth item
  5. last item


    

Event-Values

begin="[elementID].[event]"

click me
The quick brown fox jumps over the lazy dog.
click me
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.


   

    

Applications

Bannière circulaire

source: PortableLinuxApps.org

Sous-titrage de vidéo

source: mozilla.com

As an open source project and community,
we need your feedback to make the next generation browser.

Meet some of the team that has been hard at work
on the Firefox 4 project.

I work on Web Standards like HTML 5, File APIs and IndexedDB.

We’re going to make the best and most secure browser out there!

We work on testing Firefox 4 beta.
We’d like to know what you think, we’d like your feedback.

You’re going to notice a feedback button
on the upper-right corner of your browser…

…that you can use to tell us
what you like and don’t like about Firefox 4.

Let me know what you think.

Im working on the Firefox 4 beta program.

I work on content security policy for Firefox 4.

We work on crash bugs.

I’m David and I work on developer tools for Firefox 4,
and I’d really like to know what you think.

We need as much feedback as possible.

I work on the Firefox 4 Sync servers.

Firefox Sync lets you take your Firefox experience with you
wherever you go.

And we’re really looking forward to your feedback.

I work on JetPack, which is a project
to make it easier to build Add-Ons and to make Add-Ons easier to use.

I worked on the new Add-ons manager in Firefox 4.

We’d really like to know your feedback
about what you love and hate about Firefox 4, so let us know.

Please help us and make Firefox better!

We need your feedback.



    

Annotation d'audio

source: apm.ircam.fr/page/audio-tag

treble clef While the three other instruments hold a cluster of high notes, the cellist’s silent gestures interact with them, provoking a windy sonority that becomes noisier as the cellist’s gestures become more energetic.
funny music note A short interlude employing conventional playing techniques (bows are applied on the strings in the usual way, though sounds are still high and dissonant).
A rich mixture of tremolos and glissandos at various speeds in the highest register. Each part of the quartet descends progressively into the medium register: a sound colour with greater solidity emerges.
The first violin plays high notes once again, this time “flautando” i.e. with a flute-like tone (by lightly bowing across the end of the fingerboard). The other instruments follow suit until a disparate mix of “flautando” and “sul ponticello” is established and enriched by granular synthesis from the electronics.
Louder notes and groups of notes irregularly irrupt, often using a “gettato” bow stroke: the player lets the bow freely rebound against the string-once or several times in a row like a ping pong ball.
treble clef From this point onward all the preceding techniques are increasingly varied and combined. Identifying them becomes more challenging. Good luck!

    



    

Applications

HTML5 MediaElement

Voir: wam.inrialpes.fr/timesheets/html5media

Solution: double encodage de tous les fichiers de média
et/ou utilisation d'une solution de repli utilisant MediaElement.js avec Flash™.

Les plus de cette approche