La conversione di ImageMagick non può essere convertita in webp


28

Su Ubuntu 12.04 ImageMagick non sembra supportare il webp.

convert flyer.png flyer.webp

Crea un file png con estensione webp.

Sui documenti webp è indicato che ImageMagick supporta webp

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

Ho entrambi installati:

  • libwebp-dev - Compressione con perdita di immagini fotografiche digitali.
  • libwebp2 - Compressione con perdita di immagini fotografiche digitali.

Inoltre, convert non può decodificare un file webp.

Cosa c'è che non va e si tratta di un bug di Ubuntu?


1
Puoi elencare i formati supportati con convert -list format. Sul mio sistema, con la stessa convertversione, webp non appare.
cronite

1
Grazie, ho creato un bugreport su Launchpad. Quindi può essere risolto per tutti noi. bugs.launchpad.net/ubuntu/+source/imagemagick/+bug/1117481
Janghou

Questo influisce anche su debian 7 (wheezy), ma non usano launchpad per i bug.
earthmeLon

Risposte:


21

Risolto nel 16.04

In 16.04 convert flyer.png flyer.webpfunziona, sebbene webpsia necessario:

sudo apt-get install webp

Senza webpinstallato, questo messaggio di errore mostrerà:

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

1
Purtroppo webpImageMagick non è riconoscibile 7.0.8-27come delegato, ma è necessario installarlolibwebp-dev
AbdelHady,

20

Il pacchetto sorgente Ubuntu per imagemagick non dichiara una dipendenza build da libwebp-dev. Pertanto imagemagick viene creato senza il supporto webp. Questo potrebbe essere considerato un bug in Ubuntu.

Output pertinente dal processo di compilazione:

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

E quando è installato libwebp-devInstalla libwebp-dev :

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

Se vuoi risolvere questo problema solo per te, puoi ricostruire il pacchetto e installare la tua versione:

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

Grazie, come possiamo correggere questo?
Janghou,

1
Se vuoi risolverlo solo per te, puoi ricostruire il pacchetto, ho modificato la risposta per includere le informazioni.
Dennis Kaarsemaker,

@Janghou Ora è nella lista dei bug di Ubuntu. bugs.launchpad.net/ubuntu/+source/imagemagick/+bug/1117481
Meteor

14

Nel frattempo è possibile installare:

$ sudo apt-get install webp

E utilizzare dwebpe cwebpcomandi per decomprimere / comprimere da / verso il formato di file webp.


3
Ciò consente inoltre all'idenfità di imagemagick di funzionare correttamente con le immagini webp. Corregge i seguenti errori: identifica: delegato non riuscito "dwebp" -pam "%i" -o "%o"' @ error/delegate.c/InvokeDelegate/1310. identify: unable to open image / tmp / magick-510118LyrHZ5A5Sr ': nessun file o directory @ error / blob.c / OpenBlob / 2712. identifica: impossibile aprire il file `/ tmp / magick-510118LyrHZ5A5Sr ': nessun file o directory @ error / constit.c / ReadImage / 540.
443

1
Purtroppo webpImageMagick non è riconoscibile 7.0.8-27come delegato, ma è necessario installarlolibwebp-dev
AbdelHady,

2

Il supporto WebP ha anche alcuni problemi con la trasparenza prima del 6.8.3, quindi ho usato 6.8.9-9 dal 15.04 Vivid e l'ho trasferito a 14.04 Trusty con supporto webp. Utilizzare a proprio rischio:

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

Nel caso in cui desideri ripetere questo, i passaggi sono stati:

  • Usando backportpackage imagemagick --source vivid --destination trusty --workdir=imagemagick-backportper recuperare la versione di vivid ed tar -xfestrarre il .deb.
  • Quindi, debian/controlsostituendo la dpkg-dev (>= 1.17.6)dipendenza, aggiungendo dipendenze libwebp-deve sostituendo Architecture: any con amd64per evitare errori di compilazione.
  • L'aggiunta --with-webpin debian/rules, l'aggiunta di una voce del changelog con dched usando debuild -S -sdper costruire una fonte solo pacchetto.
  • Infine, imposta un account sul launchpad e segui le loro istruzioni per condividere la tua correzione.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.