web-dev-qa-db-fra.com

ImageMagick convert ne peut pas convertir en webp

Sur Ubuntu 12.04 ImageMagick ne semble pas supporter WebP.

convert flyer.png flyer.webp

crée un fichier png avec l'extension webp.

Le https://developers.google.com/speed/webp/docs/using indique que ImageMagick prend en charge Webp

convert --version Version: ImageMagick 6.6.9-7 2012-08-17 Q16

J'ai les deux:

  • libwebp-dev - Compression avec perte d'images photographiques numériques.
  • libwebp2 - Compression avec perte d'images photographiques numériques.

installée.

De plus, convert ne peut pas décoder un fichier webp.

Qu'est-ce qui ne va pas, et s'agit-il d'un bogue Ubuntu?

27
Janghou

Fixé dans 16.04

Dans 16.04 convert flyer.png flyer.webp fonctionne, bien que webp soit nécessaire:

Sudo apt-get install webp

Si webp n'est pas installé, ce message d'erreur indiquera:

convert: delegate failed `"cwebp" -quiet -q %Q "%i" -o "%o"' @ error/delegate.c/InvokeDelegate/1310.
17
Janghou

Le paquet source Ubuntu pour imagemagick ne déclare pas de dépendance de construction à libwebp-dev. Ainsi, imagemagick est construit sans le support webp. Cela pourrait être considéré comme un bug dans Ubuntu.

Résultats pertinents du processus de construction:

checking for WEBP... 
checking webp/decode.h usability... no
checking webp/decode.h presence... no
checking for webp/decode.h... no
checking for WebPDecodeRGB in -lwebp... no
checking if WEBP package is complete... no

Et quand libwebp-dev Install libwebp-dev est installé:

checking for WEBP... 
checking webp/decode.h usability... yes
checking webp/decode.h presence... yes
checking for webp/decode.h... yes
checking for WebPDecodeRGB in -lwebp... yes
checking if WEBP package is complete... yes

Si vous souhaitez résoudre ce problème uniquement pour vous-même, vous pouvez reconstruire le package et installer votre version:

cd /tmp
mkdir imagemagick
cd imagemagick
Sudo apt-get build-dep imagemagick
Sudo apt-get install libwebp-dev devscripts
apt-get source imagemagick
cd imagemagick-*
debuild -uc -us
Sudo dpkg -i ../*magick*.deb
19
Dennis Kaarsemaker

En attendant, on peut installer:

$ Sudo apt-get install webp

Et utilisez les commandes dwebp et cwebp pour décompresser/compresser à partir du/vers le format de fichier webp.

13
Dima

La prise en charge de WebP posant également des problèmes de transparence avant la version 6.8.3, j’ai donc utilisé la version 6.8.9-9 de 15.04 Vivid, et l’a reportée à 14.04 Trusty avec la prise en charge de webp. À utiliser à vos risques et périls:

Sudo add-apt-repository ppa:jamedjo/ppa
Sudo apt-get update
Sudo apt-get install imagemagick libmagickcore-6.q16-2

Si vous souhaitez répéter cette opération, procédez comme suit:

  • Utiliser backportpackage imagemagick --source vivid --destination trusty --workdir=imagemagick-backport pour récupérer la version de vivid et tar -xf pour extraire le .deb.
  • Ensuite, dans debian/control, remplacez la dépendance dpkg-dev (>= 1.17.6), ajoutez des dépendances pour libwebp-dev et remplacez Architecture: any par AMD64 pour éviter les échecs de génération.
  • Ajout de --with-webp dans debian/rules, ajout d’une entrée de journal des modifications avec dch et utilisation de debuild -S -sd pour créer un package source uniquement.
  • Enfin, configurez un compte sur le tableau de bord et suivez leurs instructions pour partager votre correctif.
2
James EJ