INF04 - 2 Langages et structure du Web
Transcription
INF04 - 2 Langages et structure du Web
INF04 - 2
Langages et structure du Web
Benoît Habert
Séance 2
•
Retour sur le passage HTLM4 / HTML5 (visualisation)
•
L’intégration d’éléments audio et vidéo
– Situation en HTML4
– Apports d’HTML5
•
Ce qui ne sera pas vu
– le support aux anciens navigateurs via HTML5
(appel aux plugins ou téléchargement)
– Les contrôles fins en JavaScript
B. Habert 2013
Langages du Web - HTML5 2
2
RETOUR SUR LA
STRUCTURATION
B. Habert 2013
Langages du Web - HTML5 2
3
INTÉGRATION D’AUDIO ET DE
VIDÉO
B. Habert 2013
Langages du Web - HTML5 2
4
Il y a des lunes
• Dans l’archive RessourcesHTML5-2,
prenez connaissance, dans l’ordre, de
– 1860-Scott-Au-Clair-de-la-Lune.mp3
– PhonautographeScottDeMartinville.jpg
– DurDesirDeDurer.docx
B. Habert 2013
Langages du Web - HTML5 2
5
Il y a des lunes
http://www.youtube.com/watch?
v=7YhTwR5qB3E
B. Habert 2013
Langages du Web - HTML5 2
6
Complexité antérieure
• Page Wikipedia (en) sur le plus vieil
enregistrement au monde :
http://en.wikipedia.org/wiki/
Au_clair_de_la_lune
B. Habert 2013
Langages du Web - HTML5 2
7
Complexité antérieure
B. Habert 2013
Langages du Web - HTML5 2
8
Complexité antérieure
• Futura-techno
http://www.futura-sciences.com/fr/news/t/
technologie-1/d/au-clair-de-la-lune-ecoutezle-plus-vieil-enregistrement-sonore-dumonde_15096/
B. Habert 2013
Langages du Web - HTML5 2
9
Complexité antérieure
B. Habert 2013
Langages du Web - HTML5 2
10
Complexité antérieure
• First sounds
http://www.firstsounds.org/sounds/scott.php
B. Habert 2013
Langages du Web - HTML5 2
11
Complexité antérieure
B. Habert 2013
Langages du Web - HTML5 2
12
Complexité antérieure
• Archive.org
http://archive.org/details/
EvolucionDeGrabaciones
B. Habert 2013
Langages du Web - HTML5 2
13
Complexité antérieure
B. Habert 2013
Langages du Web - HTML5 2
14
Avant HTML5
• Nécessité de plugins externes (Flash,
Quicktime, Silverlight) pour afficher des
vidéos
• Situation identique pour l’audio
• Plusieurs formats (évolution)
• Production de plusieurs versions en
fonction du support par les navigateurs
B. Habert 2013
Langages du Web - HTML5 2
15
Anciens lecteurs audio
• Quicktime :
http://en.wikipedia.org/wiki/QuickTime
• Windows Media Player :
http://msdn.microsoft.com/en-us/library/
ff819508(v=VS.85).aspx
• Real Audio :
http://fr.wikipedia.org/wiki/RealAudio
B. Habert 2013
Langages du Web - HTML5 2
16
Vidéo : changements
• Etat de la spécification HTML5 :
http://www.w3.org/TR/html5/embeddedcontent-0.html#the-video-element
B. Habert 2013
Langages du Web - HTML5 2
17
Audio : changements
• Etat de la spécification HTML5 :
http://www.w3.org/TR/html5/embeddedcontent-0.html#the-audio-element
B. Habert 2013
Langages du Web - HTML5 2
18
Audio/Vidéo
• Versions minimalistes
– Hypothèse que le navigateur va restituer
<audio src=‘fichier son’ controls=‘controls’/>
– Si le navigateur ne restitue pas
<audio src=‘fichier son’ controls=‘controls’>
Le navigateur ne supporte pas la balise
audio d’HTML5
</audio>
B. Habert 2013
Langages du Web - HTML5 2
19
Audio/Vidéo
• Attributs partagés
– controls : met en place une interface minimale
(lecture, pause, volume, temps écoulé)
– autoplay : démarrage automatique
– loop : lecture en boucle
– preload
• none
• auto
• metadata
B. Habert 2013
Langages du Web - HTML5 2
20
Audio/Vidéo
• Structure commune
– Plusieurs formats sont possibles et essayés
dans l’ordre
<audio controls=‘controls’>
<source src=‘fichier 1’ />
…
<source src=‘fichier k’ />
</audio>
B. Habert 2013
Langages du Web - HTML5 2
21
Audio/Vidéo
• Elément source
– Attribut type : type MIME valide (et spécifiant
éventuellement le(s) codec(s) utilisés)
<source src='video.mp4' type='video/mp4;
codecs="mp4v.20.8, mp4a.40.2 » ’ />
B. Habert 2013
Langages du Web - HTML5 2
22
Audio/Vidéo
• Structure commune
– Plusieurs pistes textuelles peuvent être
fournies
<audio controls=‘controls’>
<track src=‘fichier 1’ />
…
<track src=‘fichier k’ />
</audio>
B. Habert 2013
Langages du Web - HTML5 2
23
Audio/Vidéo
• Piste textuelle : <track>
– Attribut src obligatoire et associé à une valeur
– Attribut kind
• subtitles
• captions
• descriptions : alternative pour synthèse de la
parole
• chapters : pour naviguer dans le fichier son/vidéo
• metadata : pour usage « machinal », pas humain
B. Habert 2013
Langages du Web - HTML5 2
24
Audio/Vidéo
• Piste textuelle : <track> (suite)
– Attribut srclang obligatoire quand
kind=‘subtitles’
– Attribut label pour indiquer à l’utilisateur le rôle
de la piste
B. Habert 2013
Langages du Web - HTML5 2
25
Audio/Vidéo
• Format : WebVTT format (Web Video Text
Tracks) http://dev.w3.org/html5/webvtt/
<track kind=‘subtitles’ src=‘brave.fr.vtt’
srclang=‘fr’ label="français">
• Epaulement pour utiliser <track>
http://www.html5rocks.com/en/tutorials/
track/basics/
B. Habert 2013
Langages du Web - HTML5 2
26
Types MIME
• Les déclarations de types Mime dans les
éléments source sont des gardefous
– Un navigateur sait ne pas traiter tel type
– Il sait pouvoir traiter tel type, mais pas
forcément ses « réglages »
<source src='video1.mp4' type='video/mp4;
codecs="mp4v.20.8, mp4a.40.2" '>
<source src='video2.mp4' type='video/mp4;
codecs="avc1.42E01E, mp4a.40.2" '>
B. Habert 2013
Langages du Web - HTML5 2
27
Audio : types MIME
Format
Type MIME
MP3
audio/mp3
Ogg
audio/ogg
Wav
audio/wav
B. Habert 2013
Langages du Web - HTML5 2
28
Vidéo
• L’attribut poster de l’élément video permet
d’associer une image qui est affichée tant
que le visionnement de la vidéo n’est pas
entamé
• Longueur et largeur sont adaptés à la taille
du contenu multimédia mais ils sont
ajustables (attributs width et height de
l’élément video)
B. Habert 2013
Langages du Web - HTML5 2
29
Vidéo
• Autres attributs de l’élément video
– audio : avec la valeur muted, désactive le son
– loop
– preload : le chargement commence au
chargement de la page, et non quand
l’utilisateur veut utiliser la vidéo
B. Habert 2013
Langages du Web - HTML5 2
30
Vidéo
• Formats vidéo : conteneurs associant des codecs pour la
vidéo et pour le son, avec des niveaux de compression
et de qualité variant
• Formats
– Ogg (Chrome, Firefox, Opera)
– MP4 (Safari, IE, Android)
• Vidéo : H.264
• Son : AAC
– WebM (Google depuis 2010)
B. Habert 2013
Langages du Web - HTML5 2
31
Vidéo
• Solution de repli (fallback)
<video …>
<source …>
…
<source …>
solution de repli
</video>
B. Habert 2013
Langages du Web - HTML5 2
32
Vidéo
• Solution de repli avec FlowPlayer, lecteur
vidéo Flash open source sous GPL
• NB : il faut donner la bonne adresse sur le
site de FlowPlayer
B. Habert 2013
Langages du Web - HTML5 2
33
Vidéo
<object width="320" height="180"
type="application/x-stockwave-flash"
data="flowplayer-3.2.7.swf">
<param name="movie"
value="flowplayer-3.2.7.swf" />
<param name="allowfulscreen" value="true" />
<param name="flashvars" value=‘config{"clip":
{"url": "video1.mp4", "autoPlay"=false
"autoBuffering"=true}}’ />
</object>
B. Habert 2013
Langages du Web - HTML5 2
34
MISE EN OEUVRE
B. Habert 2013
Langages du Web - HTML5 2
35
Audio V1
• Insérer dans un document HTML minimal
nommé AudioV1.html (en copiant sous ce
nom DocumentHTML5Minimal.html) la
balise audio dans sa version minimale
pour pouvoir lire 1860-Scott-Au-Clair-dela-Lune.mp3
B. Habert 2013
Langages du Web - HTML5 2
36
Audio V1
• Donner un titre pour le navigateur : Audio
V1
• Tester avec les différents navigateurs dont
vous disposez (ce test sera à faire pour
les versions suivantes également)
B. Habert 2013
Langages du Web - HTML5 2
37
Audio V2
• Copier AudioV1.html en AudioV2.html (et
changer le titre pour le navigateur – idem
pour V3 et V4)
• Ajouter un message pour le cas où le
navigateur ne sait pas traiter la balise
audio
B. Habert 2013
Langages du Web - HTML5 2
38
Audio V3
• Copier AudioV2.html en AudioV3.html
• Utiliser un convertisseur (cf. transparent
suivant) pour obtenir des versions du
fichier son correspondant aux types MIME
Wav et Ogg
• Modifier la balise audio pour que les
versions dont vous disposez soient
essayées dans l’ordre souhaité
B. Habert 2013
Langages du Web - HTML5 2
39
Audio
• Conversions
– Encodeur Open Source Audacity (Ogg Vorbis
et MP3) http://audacity.sourceforge.net
– FFMPEG : Outil en ligne de commande pour
convertir des fichiers audio ou vidéo
http://ffmpeg.org/about.html
B. Habert 2013
Langages du Web - HTML5 2
40
Audio V4
• Copier AudioV3.html en AudioV4.html
• Il s’agit d’intégrer dans la page les
matériaux dont vous disposez
– Le titre sera Dur désir de durer
– Vous intègrerez le texte en enlevant le lien
HTML mentionné tout au début
– Vous ajouterez une figure contenant le fichier
image
B. Habert 2013
Langages du Web - HTML5 2
41
Audio V4
– Pour cette figure
• Un lien (que vous testerez) via l’image vers le site
http://www.futura-sciences.com/fr/news/t/
technologie-1/d/au-clair-de-la-lune-ecoutez-le-plusvieil-enregistrement-sonore-du-monde_15096/
• La légende contiendra
– La légende actuelle (en utilisant l’élément <em> pour
restituer correctement le titre d’ouvrage et la mention in
– L’élément permettant de déclencher la lecture
B. Habert 2013
Langages du Web - HTML5 2
42
Video V1
• Prenez connaissance des ressources que
vous allez utiliser
– Accelerometre3G.mp4
– Accelerometre3G.txt
B. Habert 2013
Langages du Web - HTML5 2
43
Video V1
• Insérer dans un document HTML minimal
nommé VideoV1.html la balise video dans
sa version minimale pour pouvoir lire
Accelerometre3G.mp4
• Donner un titre pour le navigateur : Video
V1
• Utilisez l’attribut poster pour mettre une
image d’accueil
(ScottAuClairDeLaLuneCourbe.png)
B. Habert 2013
Langages du Web - HTML5 2
44
Video V1
• Tester avec les différents navigateurs dont
vous disposez (ce test sera à faire pour
les versions suivantes également)
B. Habert 2013
Langages du Web - HTML5 2
45
Video V2
• Copier VideoV1.html en VideoV2.html
• Changer le titre pour le navigateur (même
chose ensuite pour la V3)
• Changez le mode d’accès au fichier
video : de l’attribut src de l’élément video à
un élément source enchâssé (en veillant à
donner la valeur correcte à l’attribut type)
B. Habert 2013
Langages du Web - HTML5 2
46
Video V3
• Copier VideoV2.html en VideoV3.html
• Lire les informations pour utiliser <track>,
transparents et
http://www.html5rocks.com/en/tutorials/
track/basics/
• Objectif : aligner ce qui est dit
(Accelerometre3G.txt) avec la vidéo
B. Habert 2013
Langages du Web - HTML5 2
47
Video V3
• Démarche
– Créer Accelerometre3G-sous-titre.vtt en
utilisant les indications fournies et le modèle
1860-Scott-Au-Clair-de-la-Lune-sous-titres.vtt
– Intégrer et ajustez l’élément track utilisant ces
sous-titres (l’attribut default semble
nécessaire)
– Tester
• Pour Google en particulier : ouverture de fichier /
appel au serveur local
B. Habert 2013
Langages du Web - HTML5 2
48