Vidéo encore peu développée (faibles débits)
Aucune standardisation, avec 3 acteurs dominants
Nécessité d'avoir le player installé + le plugin navigateur
<object type="video/x-ms-asf" data="videos/afroninja.mp4" width="640" height="480">
<param name="movie" value="videos/afroninja.mp4" />
<param name="loop" value="false" />
</object>
Youtube
Dailymotion
Vimeo
L'utilisation de Flash pour diffuser les vidéos
Etude réalisée en 2003 par la société ID.fr
Sébastien Delorme - Novembre 2008
Apple en trouble fête
Il évoque 6 raisons à l'éviction de Flash par Apple
Steve Jobs
Une nouvelle sémantique
Des fonctionnalités étendues (API)
C'est aussi tout l'écosystème autour
<video src="video.mp4"></video>
Trois codecs vidéo en lice :
H.264, VP8, OGG Theora
H.264 n'était supporté que par IE et Safari
VP8 et Ogg Theora seulement par Chrome, Firefox et Opera
Impossible de couvrir tous les navigateurs avec un seul format !
L'audio n'en est pas en reste...
MP3, WAV, OGG Vorbis, Opus
Il fallait :
C'est encore vrai aujourd'hui, mais plus tout à fait...
Même s'il n'est pas libre, cette situation nous facilite la tâche :p
Sauf quand on veut diffuser une conférence de Richard Stallman...
<video src="video.mp4" width="640" height="480"></video>
Attention, la balise <video> est une balise ouvrante/fermante !
<video controls preload="metadata">
<source src="video.mp4" type="video/mp4">
<source src="video.ogv" type="video/ogg">
<source src="video.webm" type="video/webm">
Ce navigateur ne supporte pas l'élément <code>video</code>
</video>
Il faut prévoir un fallback Flash
<video controls preload="metadata">
<source src="video.mp4" type="video/mp4">
<source src="video.webm" type="video/webm">
<object width="640" height="360" type="application/x-shockwave-flash" data="player.swf">
<param name="movie" value="player.swf" />
<param name="flashvars" value="controlbar=over&file=video.mp4" />
</object>
</video>
Entre nous, c'est de moins en moins nécessaire...
Les players intégrés aux navigateurs sont plutôt limités
Ils sont écrits en javascript
Avantages :
<audio src="video.mp4"></audio>
Cette API, ce sont des fonctions Javascript qui vont permettre le contrôle du player.
<video id="video" src="video.mp4" width="640" height="480" ></video>
<ul>
<li><button id="play">Lecture</button></li>
<li><button id="pause">Pause</button></li>
<li><button id="stop">Stop</button></li>
</ul>
<script>
var video = document.getElementById("video");
// Pour démarrer la lecture
document.getElementById('play').onclick = function() {
video.play();
};
// Pour mettre la vidéo en pause
document.getElementById('pause').onclick = function() {
video.pause();
};
// Pour stopper la vidéo, on la met en pause, puis on place le curseur à 0
document.getElementById('stop').onclick = function() {
video.pause();
video.currentTime = 0;
};
</script>
<video id="video" src="video.mp4" width="640" height="480" ></video>
<ul>
<li><span id="current"></span> / <span id="total"></span></li>
</ul>
<script>
var video = document.getElementById("video");
video.addEventListener('timeupdate',function() {
document.getElementById('current').innerHTML = video.currentTime;
document.getElementById('total').innerHTML = video.duration;
}, false);
</script>
<video id="video" src="video.mp4" width="640" height="480" ></video>
<input type="range" id="volume" min="0" max="1" step="0.1"/>
<script>
var video = document.getElementById("video");
document.getElementById('volume').addEventListener('change', function() {
video.volume = this.value;
},false);
</script>
<video id="video" src="video.mp4" width="640" height="480" ></video>
<ul>
<li><button id="mute">Couper le son</button></li>
</ul>
<script>
var video = document.getElementById("video");
document.getElementById('mute').onclick = function() {
if(video.muted == true) { video.muted = ""; }
else { video.muted = "muted"; }
}
</script>
Le support natif de la vidéo permet aux navigateurs de proposer des fonctionnalités combinées à Javascript qu'il n'était pas possible (ou difficilement) de mettre en oeuvre.
Un player Rich Media pour l'Université de Poitiers
« Mettre le web et ses services à la disposition de tous les individus, quels que soient leur matériel ou logiciel, leur infrastructure réseau, leur langue maternelle, leur culture, leur localisation géographique, ou leurs aptitudes physiques ou mentales. »
Tim Berners Lee, inventeur du web
<video controls preload="metadata">
<source src="video.mp4" type="video/mp4">
<source src="video.webm" type="video/webm">
<track label="English subtitles" kind="subtitles" srclang="en" src="subtitles-en.vtt" default>
</video>
WebVTT ?
C'est un type de fichier qui contient les sous-titres.
Support de WebVTT
Pouvoir gérer la lecture, modifier le volume, passer en plein écran sans passer par la souris
Un tuto pas mal sur Zestedesavoir.com
Merci de votre attention :)
romain.menard@univ-poitiers.fr
Tout le contenu de ce site est sous licence Creative Commons BY-NC-SA