Depuis la libération du codec VP8 (et de son conteneur WebM) de ON2 technologies par Google en Mai 2010, la communauté open source (et les amateurs de video !) a trouvé le digne remplaçant de theora, finalement peu performant, et surtout un adversaire de poids face au codec video breveté et certainement pas standard h264.
Cet article a pour but d’expliquer comment :
- installer ffmpeg avec le support de webm sur Ubuntu
- encoder une vidéo au format webm
- lire une vidéo au format webm
Installer ffmpeg avec le support de webm sur Ubuntu
Pour cela, je vais reprendre en quasi intégralité cet excellent article de Steph sur l’installation de ffmpeg avec support de Webm sur Ubuntu 10.04 (lucid Lynx).
On enlève les versions originales de ffmpeg et eventuellement de x264 :
1 |
sudo apt-get remove ffmpeg x264 libx264-dev |
On met à jour le système de paquets et on installe les librairies nécessaires sur le système :
1 2 |
sudo apt-get update sudo apt-get install build-essential subversion git-core checkinstall yasm texi2html libfaac-dev libfaad-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libsdl1.2-dev libtheora-dev libvorbis-dev libx11-dev libxfixes-dev libxvidcore-dev zlib1g-dev |
Récupération des sources, compilation et installation de x264 (optionnel, si vous voulez aussi encoder en x264) sous forme de paquets pour votre système (checkinstall wrappe « make install » en installant en plus le binaire obtenu sous forme de paquets debian dans votre système)
1 2 3 4 5 6 |
cd git clone git://git.videolan.org/x264.git cd x264 ./configure make sudo checkinstall --pkgname=x264 --pkgversion "2:0.`grep X264_BUILD x264.h -m1 | cut -d' ' -f3`.`git rev-list HEAD | wc -l`+git`git rev-list HEAD -n 1 | head -c 7`" --backup=no --default |
Récupération des sources, compilation et installation de VP8, librairie nommée libvpx sous forme de paquets pour votre système (checkinstall wrappe « make install » en installant en plus le binaire obtenu sous forme de paquets debian dans votre système)
1 2 3 4 5 6 |
cd git clone git://review.webmproject.org/libvpx.git cd libvpx ./configure make sudo checkinstall --pkgname=libvpx --pkgversion="`date +%Y%m%d%k%M`-git" --backup=no --nodoc --default |
Récupération des sources, compilation et installation de ffmpeg (enfin!)sous forme de paquets pour votre système (checkinstall wrappe « make install » en installant en plus le binaire obtenu sous forme de paquets debian dans votre système, à noter que pour ffmpeg vous aurez une erreur lors du checkinstall, qui n’empêchera pas l’installation d’aboutir)
Si vous avez installé x264, vous pouvez ajouter comme ci dessous ajouter le support x264 à ffmpeg : –enable-libx264 ; à noter que l’option –enable-libvpx vous donnera accès à l’encodage webm
1 2 3 4 5 6 7 |
cd svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg cd ffmpeg ./configure --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-pthreads --enable-libfaac --enable-libfaad --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-x11grab make sudo checkinstall --pkgname=ffmpeg --pkgversion "4:SVN-r`svn info | grep Revision | awk '{ print $NF }'`" --backup=no --default hash x264 ffmpeg ffplay |
Alors il est vrai que c’est toujours plus simple d’installer des paquets avec apt-get install que de compiler des sources, mais le support de webm dans ffmpeg est à ce jour tellement récent que vous ne trouverez pas de paquets pour votre distribution !
Encoder vos vidéos en webm avec ffmpeg
Rien de plus simple !
1 |
ffmpeg -i input.avi -threads 2 output.webm |
(sauf qu’il semnlearait que le -threads 2, supposé donner 2 threads à ffmpeg, utile pour les dual core, ne soit pas supporté, à ce jour, pour webm)
Lire vos vidéos encodées en webm
Avec ffplay
Vous avez déjà installé précédemment ffmplay :
1 |
ffplay output.webm |
Avec vlc
Vous pouvez aussi les lire avec la dernière version de VLC, à date, la version 1.1.0; il vous faut ajouter un nouveau repo avec les dernières version de vlc, enlever votre version actuelle et ré installer vlc :
1 2 3 4 |
sudo add-apt-repository ppa:c-korn/vlc sudo apt-get update sudo apt-get remove vlc sudo apt-get install vlc mozilla-plugin-vlc videolan-doc |
Depuis la sortie officielle de VLC en 1.1.0, VLC lit parfaitement les fichiers webm, toutes plateformes confondues !
Avec votre navigateur web
Mais le véritable intérêt de webm, c’est le web, aussi à cette page, vous sont listées les navigateurs compatibles webm.
Vous y trouverez un paquet debian/ubuntu pour chrome, et en téléchargeant et détarrant un firefox nightly build, vous pourrez aussi les lire avec firefox.
Si vous pouvez lire la video ci dessous, c’est qu’alors vous utilisez un navigateur compatible webm !
Avec chrome version 6.0.437.3 dev , j’ai pu la lire avec succès !
Vous pouvez aussi télécharger la vidéo en enregistrant cette url :
Exemple de vidéo webm à télécharger
Bon encodage Webm à tous !