LINUX.ORG.RU

ImageMagick и WebP

 , ,


1

1

Сконвертировал пачку PNG в WebP:

for f in *.png; do convert $f subdir/$f.webp; done

Результат не понравился — хорошо видны прямоугольные артефакты. Попробовал варьировать качество:

for f in *.png; do convert $f -quality 50 subdir/$f.webp; done
for f in *.png; do convert $f -quality 90 subdir/$f.webp; done
for f in *.png; do convert $f -quality 99 subdir/$f.webp; done
for f in *.png; do convert $f -quality 10 subdir/$f.webp; done
for f in *.png; do convert $f -define webp:lossless=true subdir/$f.webp; done

Во всех случаях получаются идентичные файлы. В чём проблема? Как задать качество?

Ответ: В Gentoo по умолчанию media-gfx/imagemagick собирается с USE="-webp". Но это означает не полное отсутствие поддержки, а использование каких-то захардкоженых параметров. Пересборка с USE="webp" помогла.

★★★★★

Последнее исправление: question4 (всего исправлений: 2)

Нашёл большой png (скан), погонял его с разными опциями. Файлы получаются разными, чем выше -quality, тем больше файл. С -define webp:lossless=true получается самый большой файл, и, согласно webpinfo, Format: Lossless (2)

$ magick -version
Version: ImageMagick 7.1.0-39 Q16-HDRI x86_64 20175 https://imagemagick.org
Copyright: (C) 1999 ImageMagick Studio LLC
License: https://imagemagick.org/script/license.php
Features: Cipher DPC HDRI Modules OpenCL OpenMP(4.5) 
Delegates (built-in): bzlib cairo djvu fontconfig freetype heic jbig jng jp2 jpeg jxl lcms lqr ltdl lzma openexr pangocairo png raqm raw rsvg tiff webp wmf x xml zip zlib
Compiler: gcc (12.1)
greenman ★★★★★
()
Ответ на: комментарий от greenman

Файлы получаются разными, чем выше -quality, тем больше файл. С -define webp:lossless=true получается самый большой файл, и, согласно webpinfo, Format: Lossless (2)

У меня это не работает. Похоже, проблема в моём ImageMagick.

question4 ★★★★★
() автор топика
Ответ на: комментарий от yandrey

-quality 85 -define webp:method=6

У меня это не работает. Похоже, проблема в моём ImageMagick.

P.S. После пересборки заработало. Спасибо за параметры.

question4 ★★★★★
() автор топика
Последнее исправление: question4 (всего исправлений: 1)
Ответ на: комментарий от question4

У меня это не работает. Похоже, проблема в моём ImageMagick.

Кстати, можно ещё конвертировать с помощью ffmpeg, что-то типа:

ffmpeg -i input_filename.png -vcodec libwebp -lossless 0 -quality 85 output_filename.webp
EXL ★★★★★
()