screex264 : réencodez vos captures d'écran vidéos (screencasts) sous Ubuntu
12 Sep 2008
Vous connaissez sans doute l’outil gtk-recordmydesktop, qui permet de faire
une capture vidéo (un screencast) de votre écran.
Pour obtenir une bonne qualité, dans les options vidéos, il faut vérifier que
“compression nulle” est bien sur l’option “Activé” (malheureusement, la
compression à la volée utilisée provoque quand même une légère perte de
qualité).
Mais une telle vidéo prend un peu de place. Je vous propose donc de la
réencoder, dans le format x264 (issu du projet VideoLAN, ayant donné
naissance à VLC), multiplexé dans le conteneur MKV.
Le fichier ainsi généré sera lisible par exemple avec VLC.
Disons-le tout de suite, le x264 est actuellement LE meilleur codec de
compression vidéo, proposant un rapport qualité/taille impressionnant. Le
mkv permet, par exemple, de contenir une piste vidéo, plusieurs pistes audio
dans différentes langues, des sous-titres, des chapitres, des pièces jointes…
Ici, ce qui nous intéresse, c’est qu’il est libre, et qu’à contenu égal, il
prend moins de place que les autres conteneurs (l’overhead est quasi-nul).
Voici comment utiliser le script.
Pour encoder la vidéo mavideo.ogg en mavideo.mkv, avec un débit de 400Kbps :
screex264 mavideo.ogg mavideo.mkv 400
Pour encoder la vidéo mavideo.ogg en mavideo.mkv, avec un débit de 400Kbps
avec une meilleure qualité (plus lent) :
screex264 mavideo.ogg mavideo.mkv 400 -hq
Pour encoder la vidéo mavideo.ogg en mavideo.mkv, avec un débit de 400Kbps
avec une qualité maximale (très lent) :
screex264 mavideo.ogg mavideo.mkv 400 -vhq
Il est également possible d’utiliser n’importe quels paramètres de mencoder.
Ainsi, pour encoder la vidéo mavideo.ogg en mavideo.mkv, avec un débit de
400Kbps, à partir de la 10e seconde et pour une durée de 20 secondes :
chez moi le script plante, il doit manquer la dernière ligne.
petite remarque :
là on fait une double passe. le fichier tmp.avi fini dans la poubelle, dans
ce cas autant rediriger le flu vers /dev/null (votre disque dur va vous dire
merci) il faut rajouter -f avi pour spécifier le type du conteneur
en revenge je ne comprends pas bien l’emploi de mkvmerge on n’est pas forcé
l’encapsuler le fichier dans un conteneur de type mkv on pourrait aussi bien
conserver le format avi.
Concernant ta remarque sur le fichier vidéo généré lors de la première
passe, es-tu absolument sûre que ce fichier n’est pas du tout utilisé lors
de la seconde passe?
A priori, je pense que tu as raison, car dès que la seconde passe commence,
le fichier est écrasé… Je vais faire quelques tests et modifier le script.
Sinon, effectivement tu pourrais le laisser dans un .avi, mais comme je le
dis dans le billet :
Ici, ce qui nous intéresse, c’est qu’il est libre, et qu’à contenu égal, il
prend moins de place que les autres conteneurs (l’overhead quasi-nul).
MKV est meilleur que AVI, donc pourquoi garder un .avi?
Petite correction x264 est une implementation libre d’une compression
propriétaire h264, comme le xvid l’est pour le divx. Donc la vidéo encodé
avec x264 est encodé dans un format proprio.C’est la même chose que le doc,
on peut le créer/modifier avec OOo, mais ça reste proprio
Pour encoder facilement sans trop ce prendre la tête en format libre, j’ai
trouvé OggConvert. Il convertit tout les vidéo/musique en formats libres,
notament le Dirac qui est un concurrent libre au h264
J’avais posté un message sur le dirac dans le forum ubuntu-fr (dans la
partie actualité), mais comme il est indisponible je peux pas te filer le
lien.
A qualité comparable (à vue de nez), Big buck bunny est a peu près pareil en
h264 et dirac. Sinon, t’as la dépêche sur da linux french page Tu pourra
comparer les vidéos fournies avec celle du site de bigbuckbunny.
Sinon pour le theora, ç’est juste bine pour du streaming ou des truc basse
qualité. c’est moins bien que le divx
chez moi le script plante, il doit manquer la dernière ligne.
petite remarque :
là on fait une double passe. le fichier tmp.avi fini dans la poubelle, dans ce cas autant rediriger le flu vers /dev/null (votre disque dur va vous dire merci) il faut rajouter -f avi pour spécifier le type du conteneur
en revenge je ne comprends pas bien l’emploi de mkvmerge on n’est pas forcé l’encapsuler le fichier dans un conteneur de type mkv on pourrait aussi bien conserver le format avi.