ImageMagick конвертировать не может конвертировать в WebP

В Ubuntu 12.04 ImageMagick не поддерживает webp.

convert flyer.png flyer.webp

создает png файл с расширением webp.

На https://developers.google.com/speed/webp/docs/using указано, что ImageMagick поддерживает webp

convert --versionВерсия: ImageMagick 6.6.9-7 2012-08-17 Q16

У меня есть оба:

  • libwebp-dev - сжатие с потерями цифровых фотографических изображений.
  • libwebp2 - Сжатие с потерями цифровых фотографических изображений.

установлены.

Также конвертировать не может декодировать файл webp.

Что не так, и это ошибка в Ubuntu?

4 ответа

Решение

Исправлено в 16.04

В 16.04 convert flyer.png flyer.webp работает, хотя webp нужно:

sudo apt-get install webp

Без webp установлено, это сообщение об ошибке покажет:

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

Исходный пакет Ubuntu для imagemagick не объявляет зависимость сборки от libwebp-dev. Таким образом, imagemagick создается без поддержки webp. Это можно считать ошибкой в ​​Ubuntu.

Соответствующий вывод из процесса сборки:

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

И когда libwebp-dev Установите 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

Если вы хотите исправить это только для себя, вы можете пересобрать пакет и установить свою версию:

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

А пока можно установить:

$ sudo apt-get install webp

И использовать dwebp а также cwebp Команды для распаковки / сжатия из / в формат файла webp.

Поддержка WebP также имеет некоторые проблемы с прозрачностью до 6.8.3, поэтому я использовал 6.8.9-9 из 15.04 Vivid и перенес его на 14.04 Trusty с поддержкой webp. Используйте на свой риск:

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

Если вы хотите повторить это, шаги были:

  • С помощьюbackportpackage imagemagick --source vivid --destination trusty --workdir=imagemagick-backport чтобы получить версию Vivid и tar -xf извлечь .deb,
  • Тогда внутри debian/control замена dpkg-dev (>= 1.17.6) зависимость, добавление зависимостей для libwebp-dev и замена Architecture: any с amd64 чтобы избежать сбоев сборки.
  • Добавление --with-webp в debian/rules, добавив запись в журнал изменений с dch и используя debuild -S -sd построить пакет только с исходным кодом.
  • Наконец, создайте учетную запись на панели запуска и следуйте инструкциям, чтобы поделиться своим исправлением.
Другие вопросы по тегам