ImageMagick конвертувати не може конвертувати в webp


28

На Ubuntu 12.04 ImageMagick, схоже, не підтримує webp.

convert flyer.png flyer.webp

Створює png-файл із розширенням webp.

У документах webp зазначено, що ImageMagick підтримує webp

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

У мене встановлено обидва:

  • libwebp-dev - Втрата стиснення цифрових фотографічних зображень.
  • libwebp2 - Втрата стиснення цифрових фотографічних зображень.

Крім того, конвертувати не вдається розшифрувати файл webp.

Що не так, і це помилка Ubuntu?


1
Ви можете перелічити підтримувані формати за допомогою convert -list format. У моїй системі з тією ж convertверсією webp не відображається.
хроніт

1
Thx, я створив bugreport на Launchpad. Тоді це можна зафіксувати для всіх нас. bugs.launchpad.net/ubuntu/+source/imagemagick/+bug/1117481
Janghou

Це також впливає на debian 7 (wheezy), але вони не використовують стартовий блок для помилок.
earthmeLon

Відповіді:


21

Виправлено 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.

1
На жаль webp, ImageMagick не впізнається 7.0.8-27як делегат, замість цього вам доведеться встановитиlibwebp-dev
AbdelHady

20

Пакет 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

Thx, як ми можемо це виправити?
Janghou

1
Якщо ви хочете виправити це лише для себе, ви можете відновити пакет, я відредагував відповідь, щоб включити інформацію.
Денніс Каарсемейкер

@Janghou Зараз у списку помилок Ubuntu. bugs.launchpad.net/ubuntu/+source/imagemagick/+bug/1117481
Метеор

14

Тим часом можна встановити:

$ sudo apt-get install webp

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


3
Це також дозволяє ідентичності Imagemagick правильно працювати з веб-зображеннями. Він виправляє наступні помилки: ідентифікуйте: delegate "dwebp" -pam "%i" -o "%o"' @ error/delegate.c/InvokeDelegate/1310. identify: unable to open image fail / tmp / magick-510118LyrHZ5A5Sr ': Немає такого файлу чи каталогу @ error / blob.c / OpenBlob / 2712. ідентифікувати: не вдається відкрити файл `/ tmp / magick-510118LyrHZ5A5Sr ': Немає такого файлу чи каталогу @ error / constitute.c / ReadImage / 540.
чотири43

1
На жаль webp, ImageMagick не впізнається 7.0.8-27як делегат, замість цього вам доведеться встановитиlibwebp-dev
AbdelHady

2

Підтримка WebP також має деякі проблеми із прозорістю до 6.8.3, тому я використав 6.8.9-9 з 15.04 Vivid, і підтримав її до 14.04 Довірився з підтримкою 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для отримання яскравої версії та tar -xfвилучення .deb.
  • Тоді в рамках debian/controlзаміни dpkg-dev (>= 1.17.6)залежності додайте залежності для libwebp-devта замініть Architecture: any на, amd64щоб уникнути збоїв у складанні.
  • Додавання --with-webpв debian/rules, додавши запис з журналом змін dchі використовуючи debuild -S -sdдля створення джерела тільки пакет.
  • Нарешті, налаштуйте обліковий запис на панелі запуску та дотримуйтесь їх інструкцій, щоб поділитися своїм виправленням.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.