Chuyển đổi ImageMagick không thể chuyển đổi sang webp


28

Trên Ubuntu 12.04 ImageMagick dường như không hỗ trợ webp.

convert flyer.png flyer.webp

Tạo một tệp png với phần mở rộng webp.

Trên tài liệu webp được tuyên bố rằng ImageMagick không hỗ trợ webp

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

Tôi đã cài đặt cả hai:

  • libwebp-dev - Nén mất hình ảnh kỹ thuật số.
  • libwebp2 - Nén mất hình ảnh kỹ thuật số.

Ngoài ra, chuyển đổi không thể giải mã một tập tin webp.

Có gì sai, và đây có phải là lỗi Ubuntu không?


1
Bạn có thể liệt kê các định dạng được hỗ trợ với convert -list format. Trên hệ thống của tôi, với cùng một convertphiên bản, webp không xuất hiện.
viêm chron

1
Thx, tôi đã tạo một bugreport trên Launchpad. Sau đó, nó có thể được sửa chữa cho tất cả chúng ta. bugs.launchpad.net/ubuntu/+source/imagemagick/+bug/1117481
Janghou

Điều này cũng ảnh hưởng đến debian 7 (khò khè), nhưng họ không sử dụng launchpad cho các lỗi.
earthmeLon

Câu trả lời:


21

Đã sửa trong 16.04

Trong 16.04 convert flyer.png flyer.webpkhông hoạt động, mặc dù webplà cần thiết:

sudo apt-get install webp

Nếu không webpcài đặt, thông báo lỗi này sẽ hiển thị:

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

1
Thật không may webplà ImageMagick không thể nhận ra 7.0.8-27dưới dạng đại biểu, thay vào đó bạn phải cài đặtlibwebp-dev
AbdelHady

20

Gói nguồn Ubuntu cho fantemagick không khai báo sự phụ thuộc xây dựng vào libwebp-dev. Do đó, Imagemagick được xây dựng mà không cần hỗ trợ webp. Đây có thể được coi là một lỗi trong Ubuntu.

Đầu ra có liên quan từ quá trình xây dựng:

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

Và khi libwebp-devCài đặt libwebp-dev được cài đặt:

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

Nếu bạn muốn tự sửa lỗi này, bạn có thể xây dựng lại gói và cài đặt phiên bản của mình:

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, làm thế nào chúng ta có thể sửa điều này?
Janghou

1
Nếu bạn muốn tự sửa nó, bạn có thể xây dựng lại gói, tôi đã chỉnh sửa câu trả lời để bao gồm thông tin.
Dennis Kaarsemaker 6/2/13

@Janghou Nó nằm trong danh sách lỗi của Ubuntu. bug.launchpad.net/ubfox/+source/imagemagick/+orms/1117481
Sao băng

14

Trong thời gian đó người ta có thể cài đặt:

$ sudo apt-get install webp

Và sử dụng dwebpcwebpcác lệnh để giải nén / nén từ / sang định dạng tệp webp.


3
Điều này cũng cho phép idenfick của idemagick hoạt động chính xác với hình ảnh webp. Nó sửa các lỗi sau: xác định: ủy nhiệm không thành công "dwebp" -pam "%i" -o "%o"' @ error/delegate.c/InvokeDelegate/1310. identify: unable to open image / tmp / magick-510118LyrHZ5A5Sr ': Không có tệp hoặc thư mục như vậy @ error / blob.c / OpenBlob / 2712. xác định: không thể mở tệp `/ tmp / magick-510118LyrHZ5A5Sr ': Không có tệp hoặc thư mục như vậy @ error / constolarship.c / ReadImage / 540.
bốn43

1
Thật không may webplà ImageMagick không thể nhận ra 7.0.8-27dưới dạng đại biểu, thay vào đó bạn phải cài đặtlibwebp-dev
AbdelHady

2

Hỗ trợ WebP cũng có một số vấn đề về độ trong suốt trước 6.8.3, vì vậy tôi đã sử dụng 6.8.9-9 từ 15.04 Vivid và đưa nó vào 14.04 Trusty với hỗ trợ webp. Sử dụng có nguy cơ của riêng bạn:

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

Trong trường hợp bạn muốn lặp lại điều này, các bước là:

  • Sử dụng backportpackage imagemagick --source vivid --destination trusty --workdir=imagemagick-backportđể tìm nạp phiên bản sống động và tar -xfđể giải nén .deb.
  • Sau đó, trong phạm vi debian/controlthay thế dpkg-dev (>= 1.17.6)phụ thuộc, thêm phụ thuộc libwebp-devvà thay thế Architecture: any bằng amd64để tránh các lỗi xây dựng.
  • Thêm --with-webpvào debian/rules, thêm một mục thay đổi với dchvà sử dụng debuild -S -sdđể xây dựng gói chỉ nguồn.
  • Cuối cùng, hãy thiết lập một tài khoản trên launchpad và làm theo hướng dẫn của họ để chia sẻ cách khắc phục của bạn.
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.