LINUX.ORG.RU

Поддержка WebP в ImageMagick

 ,


0

1

Приветствую.

Не получается настроить поддержку WebP на сервере. Проблема заключается в следующем. Имеется несколько серверов. На всех кроме одного все получилось. На одном ничего не получается.

Изначально конфигурируем WebP для Perl модуля ImageMagick.

По идее достаточно установить yum install ImageMagick yum install libwebp libwebp-devel

после чего при вызове команды identify -list format identify -list format| grep webp в списке форматов сервера должен появиться WebP WEBP* rw- WebP Image Format (libwebp 0.3.0 [020F])

Но не работает. И как я уже сказал только на одном сервере.

Здесь похожая проблема https://legacy.imagemagick.org/discourse-server/viewtopic.php?t=35756

Разбирательства приводят на гугл https://developers.google.com/speed/webp/download

Где они предлагают скачать у них и установить libwebp библиотеку отдельно. Это также не дает никакого эффекта.

Далее идет куча сайтов с инструкциями по установке, но ничего не помогает: https://talkingweb.co.uk/blog/how-to-add-support-for-next-generation-file-formats-heif-and-webp https://gist.github.com/moneytoo/8c95cc39fd4fd9a18858eb15e379d2f5 https://www.linuxhelp.com/how-to-compile-imagemagick-from-source-configured-with-webp-on-centos-7-6

Такое ощущение, что он не видит libwebp библиотеку. На других серверах было также, но после установки libwebp-devel все заработало. Здесь не помогает.

может просто версия древняя самого ImageMagick? Потому что libwebp 0.3.0 это что-то доисторическое. Посмотрел у себя на малине 8 версии центоси

WEBP* WEBP rw+ WebP Image Format (libwebp 1.0.0 [020E])

Может просто взять из реп 8 версии актуальный ImageMagick и установить его вместо старого хлама?

fennet ()

Так, кое в чем разобрался.

Если устанавливать согласно данной документации https://gist.github.com/moneytoo/8c95cc39fd4fd9a18858eb15e379d2f5 , то не работают команды identify -list format | grep webp magick identify -list configure поэтому я не понимал как мне проверить, работает webp или нет.

Если выполнить export PATH=$PATH:/usr/local/lib export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib то начинает работать identify -list format | grep webp а также работает convert –version

При этом все ок - webp подключен и работает.

Но magick identify -list configure не работает и как сделать чтобы работала пока непонятно. Если знаете - подскажите пожалуйста.

Стал разбираться дальше.

ImageMagick можно установить через yum (в целом я об этом знал и раньше, но тогда не работает webp). yum install -y ImageMagick ImageMagick-devel ImageMagick-perl

В этом случае там версия 7_9 - http://joxi.ru/l2ZWLyyc7p8qOA и она, насколько я понимаю является системной и будет обновляться вместе с обновлением в репозитории. Из тех версий, что я нашел на сайте centos последней является версия https://centos.pkgs.org/7/centos-updates-aarch64/ImageMagick-6.9.10.68-5.el7_9.aarch64.rpm.html вродебы тоже 7_9, но почему-то после ее установки показывает просто 7 - http://joxi.ru/Y2LNeWWcEKna8r

В целом с ней тоже работает.

Но раз можно использовать yum версию (раз она будет обновляться), то лучше использовать такой вариант. В этом случае остается вопрос: как сконфигурировать yum версию для работы с webp?

Сейчас, что yum версия что rpm создают одни и теже файлы, за исключением того, что в rpm версии работает webp а в yum нет.

Alexey_AA ()
Ответ на: комментарий от Alexey_AA

Из тех версий, что я нашел на сайте centos последней является версия https://centos.pkgs.org/7/centos-updates-aarch64/ImageMagick-6.9.10.68-5.el7_9.aarch64.rpm.html

Очередная трольчатина. Сейчас еще заявит у него сервер кластер из миллиона raspberry pi

anonymous ()

Все, судя по всему оказалось гораздо проще. И видимо так и было сделано на остальных серверах. В дополнение к обычным версиям ImageMagick, установленных через yum, был скомпилирован и установлен ImageMagick из исходника дистрибутива. Но я скачал версию ImageMagic, которая установлена на других серверах. И все заработало. До этого ставил последнюю версию исходника и там почему-то не работает поддержка webp. Т.е. видимо как-то это связано с исходником дистрибутива.

Alexey_AA ()