まこと の ブログ

MaKoTo no burogu — Journal de bord…

Aller au contenu | Aller au menu | Aller à la recherche

Passage des vidéos du blog en webm

  • Jusqu'ici j'utilisais théora pour encoder les vidéos postées sur ce blog, lisibles donc nativement par le navigateur internet.

Suite à quelques tests concluants, notamment lors de la publication de la vidéo du X-Wing, j'ai décidé d'utiliser dorénavant le format VP8 libéré par Google.

En effet, à bitrate équivalent, la qualité de la vidéo obtenue est visuellement bien meilleure, permettant soit de compresser jusqu'à deux fois plus fort pour alléger le fichier, soit d'obtenir une qualité supérieure en conservant le même poids de fichier.

  • Le webm est un dérivé du mkv, c'est le conteneur.

Dedans on va donc y mettre le VP8 pour la vidéo et Ogg (Vorbis) pour l'audio.


Encodage :

Pour encoder avec Ubuntu 14.04, on utilise avconv (si besoin : sudo apt-get install libav-tools), un fork du logiciel ffmpeg.
Sur des versions d'Ubuntu plus ancienne, on remplacera donc l'expression « avconv », par « ffmpeg ».

Voici la commande que j'ai utilisé, qui m'a donné le plus satisfaction :

avconv -i PuramoX-Wing.mpg -s 640x360 -c:v libvpx -qmin 0 -qmax 50 -crf 5 -b:v 600k -c:a libvorbis PuramoX-Wing.webm

Pas de panique, quelques explications :

avconv : le logiciel de compression.
-i : argument pour avoir des info dans la console lors du processus.
PuramoX-Wing.mpg : le chemin vers la vidéo à encoder.
-s 640x360 pour redimensionner l'image, peut donc être omit si on ne veut pas modifier la résolution de la vidéo.
-c:v libvpx : pour indiquer qu'on utilise le codec (c) vidéo (v) libvpx (librairie VP8).
-crf 5 : un quotient de qualité d'image minimal (de 0 à 63), 10 est une bonne valeur de départ.
-qmin 0 -qmax 50 : la plage de valeur minimum et maximum quantizer (de 0 à 63), pas obligatoire, mais qui augmente sensiblement la qualité.
-b:v 600k : le bitrate (=bitrate minimal si utilisé avec les quantizer), exprimable en kilo (k) ou en Mega (M), forcément plus c'est élevé plus la vidéo est belle… et lourde !
-c:a libvorbis : pour indiquer le codec (c) audio (a) libvorbis (librairie Vorbis), sans autres arguments spécifiés, donc dans ses réglages par défaut (112k de qualité audio).
PuramoX-Wing.webm : le fichier vidéo cible.

-threads 2 : à rajouter pour dispatcher le travail à deux processeurs (dans ce cas) ou plus, afin d'accélérer la compression.

  • Avec cette commande, j'ai donc encodé une vidéo 720x576 mpeg2 à 9600k (« qualité dvd » au minimum de compression, donc très belle) et audio 48000Hz à 256k pesant 1,3Gio, en une vidéo 640x360 webm (VP8 600k + Vorbis 48000Hz 112k) de 113Mio.

Attention cependant, le logiciel d'encodage n'étant pas encore optimisé, l'encodage est vraiment très lent, en comparaison de l'encodage en Théora, mais çà vaut le coup d'attendre !

  • À l'heure où j'écris ces lignes, j'ai découvert une interface graphique, « transmageddon », qui propose enfin l'encodage en webm, mais sans aucun réglages :
sudo apt-get install transmageddon



Publication :

  • Voici les balises html que j'utilise pour poster les vidéos :
<center>
   <video width="640" height="360" controls="controls"> 
        <source src="/data/PuramoX-Wing.webm" type="video/webm" /> 
      <span style="font-weight: bold; color: red;">Si la Vidéo ne s'affiche pas, c'est que vous utilisez un navigateur obsolète !</span>
      <br>
      <a href="http://www.mozilla-europe.org/fr/firefox/">&gt;&gt;Télécharger Firefox&lt;&lt;</a>
   </video>
</center>
  • Très intéressant, il est aussi possible d'ajouter un sous-titre au format VTT, en ajoutant cette balise :
<track src="/data/PuramoX-Wing.vtt" default="default" kind="subtitles" srclang="fr" label="Français">

Le format VTT diffère du SRT de très peu.
En effet, il suffit d'ajouter le mot « WEBVTT » au début du fichier, et de remplacer la virgule par le point dans le time-code de début et de fin de chaque entrées du fichier sous-titre :

Voilà un extrait de fichier .SRT :

1
00:00:05,360 --> 00:00:10,280
Aujourd'hui nous allons réaliser la maquette du X-Wing, le célèbre chasseur rebelle des films StarWars !

Et le même extrait en .VTT

WEBVTT

1
00:00:05.360 --> 00:00:10.280
Aujourd'hui nous allons réaliser la maquette du X-Wing, le célèbre chasseur rebelle des films StarWars !

Sources :
http://trac.ffmpeg.org/wiki/Encode/VP8

Commentaires

1. Le dimanche, 4 janvier 2015, 10:55 par genma

Merci pour ce petit tuto bien sympa.

Ajouter un commentaire

Les commentaires peuvent être formatés en utilisant une syntaxe wiki simplifiée.

Fil des commentaires de ce billet