Encoder vos videos en Webm (vp8) avec ffmpeg sous Ubuntu

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 :

On met à jour le système de paquets et on installe les librairies nécessaires sur le système :

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)

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)

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

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 !

(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 :

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 :

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 !

Sources :

4 réflexions sur « Encoder vos videos en Webm (vp8) avec ffmpeg sous Ubuntu »

  1. Bonjour et merci pour toutes ces infos. Je pense que le vp8 est un excellent codec.
    Juste une que dans la ligne de commande ffmpeg -i input.avi -threads 2 output.webm a quoi correspond la variable 2?
    Et comment changer le bitrate d’encodage?
    Merci

  2. Bonjour,
    Je voulais utiliser votre site pour tester la vidéo en webm sous firefox, mais ça ne marche pas; pourtant mon Firefox 10.0.2 gère bel et bien le mp4, et arrive à lire le ficher téléchargé.
    Je pense que c’est dû au ‘Content-type: text/plain’ retourné par votre Apache pour le « GET /wp-content/uploads/sample.webm HTTP/1.1 »

    Cdlt.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *