web-dev-qa-db-fra.com

Comment puis-je convertir un WebP animé en WebM?

Je souhaite convertir un fichier WebP animé en WebM. Cependant, la plupart des outils ne prennent en charge la conversion en un WebP animé mais pas en arrière, lorsqu'ils prennent en charge les WebP animés du tout: convert d'ImageMagick ne prend pas en charge le WebP animé, ffmpeg ne prend pas en charge le WebP animé et webpmux ne prend en charge que l'extraction d'une seule image à la fois (pour autant que je sache).

Comment puis-je procéder à cette conversion?

2
James Martin

Puisqu'il ne semble pas encore y avoir de méthode largement prise en charge:

  1. Installez le anim_dump exemple d'utilitaire de libwebp , car il n'est pas inclus dans le package webp.
    1. Clonez le dépôt: git clone https://chromium.googlesource.com/webm/libwebp && cd libwebp.
    2. Forcer make à construire anim_dump: echo "bin_PROGRAMS += anim_dump" >> examples/Makefile.am.
    3. Installez libwebp: ./autogen.sh && ./configure && make && Sudo make install.
    4. Ajouter /usr/local/lib vers votre chemin de l'éditeur de liens : echo "/usr/local/lib" |Sudo tee -a /etc/ld.so.conf&& Sudo ldconfig. Sans cela, anim_dump ne fonctionnera pas.
  2. Extrayez les cadres WebP en PNG à l'aide de anim_dump. mkdir frames && cd frames && anim_dump ../example.webp && cd ...
  3. Calculez le framerate de la vidéo en utilisant webpmux: webpmux -info ../example.webp. Utilisez la durée moyenne des trames WebP comme fréquence d'images WebM. Si votre WebP n'utilise pas une fréquence d'images constante, vous devrez en quelque sorte gérer manuellement les durées.
  4. Créez un WebM utilisant ffmpeg : ffmpeg -framerate <my-framerate> -i frames/dump_%04d.png example.webm
  5. Nettoyer: rm -r frames/.
2
James Martin