NỘI DUNG
Cài đặt ImageMagick và hỗ trợ định dạng HEIC.
HEIC là một định dạng tệp hình ảnh mới, được phát triển bởi Hiệp hội Công nghệ Hình ảnh (Image and Video Technology Standards Group) của Liên minh Công nghiệp Tích hợp (ITU-T) và Tổ chức Tiêu chuẩn Hóa Quốc tế (ISO). HEIC là viết tắt của High Efficiency Image Format.
HEIC sử dụng một phương pháp nén hình ảnh mới, có thể giảm kích thước tệp đáng kể so với các định dạng hình ảnh truyền thống khác như JPEG. Điều này giúp tiết kiệm dung lượng lưu trữ và giảm thời gian tải ảnh trên Internet.
HEIC cũng hỗ trợ nhiều tính năng hơn so với các định dạng hình ảnh truyền thống, bao gồm độ sâu màu lên đến 16 bit, hỗ trợ kênh alpha, tệp màu sắc không nén và tệp RAW không nén. Tuy nhiên, định dạng này hiện vẫn chưa được hỗ trợ rộng rãi trên tất cả các thiết bị và phần mềm, do đó nó có thể gây khó khăn trong việc chia sẻ và xử lý các tệp hình ảnh.
Để cài đặt ImageMagick hỗ trợ HEIC trên Ubuntu, bạn cần SSH vào server và cài đặt bản cập nhật mới nhất của ImageMagick và HEIC delegate library từ nguồn.
Hướng dẫn này được thực hiện trên Ubuntu 20.04 LTS và đang cài đặt Control AAPANEL. Nếu hệ thống bạn khác với thông tin của mình và cài đặt thất bại. Hãy để lại comment bên dưới nhé.
Bước 1: Cập nhật hệ thống và cài đặt các gói phụ thuộc
Mở terminal và chạy lệnh sau để cập nhật hệ thống:
sudo apt update
sudo apt upgrade
Sau đó cài đặt các gói phụ thuộc để có thể biên dịch ImageMagick từ nguồn:
sudo apt install build-essential checkinstall libx11-dev libxext-dev zlib1g-dev libpng-dev libjpeg-dev libtiff-dev libwebp-dev libde265-dev libheif-dev -y
Bước 2: Tải xuống và giải nén ImageMagick
Tải xuống ImageMagick mới nhất từ trang web chính thức: https://imagemagick.org/script/download.php
Sau khi tải xuống, giải nén tệp tin và di chuyển vào thư mục được giải nén bằng lệnh:
wget https://imagemagick.org/archive/ImageMagick.tar.gz
tar xfz ImageMagick.tar.gz
cd ImageMagick-*
Bước 3: Cài đặt ImageMagick
Tiếp theo, chạy các lệnh sau để cài đặt ImageMagick từ source
./configure
make
sudo make install
Bước 4: Tải xuống và cài đặt HEIC delegate library
Tải xuống HEIC delegate library mới nhất từ trang web chính thức: https://github.com/strukturag/libheif/releases
Sau khi tải xuống, giải nén tệp tin và di chuyển vào thư mục được giải nén bằng lệnh:
wget https://github.com/strukturag/libheif/releases/download/v1.14.2/libheif-1.14.2.tar.gz
tar xfz libheif-*.tar.gz
cd libheif-*
Sau đó, chạy các lệnh sau để cài đặt HEIC delegate library:
./configure
make
sudo make install
Bước 5: Kiểm tra ImageMagick đã hỗ trợ HEIC
Cuối cùng, để kiểm tra ImageMagick đã hỗ trợ HEIC, chạy lệnh sau trong terminal:
identify -version
Nếu đầu ra chứa “heic” trong phần “Delegates”, có nghĩa là ImageMagick đã hỗ trợ HEIC. Bạn có thể sử dụng các lệnh của ImageMagick để chuyển đổi và xử lý các tệp tin HEIC.
Kiểm tra bằng lệnh convert -list format |grep HEIC
Bây giờ bạn hãy tạo file info.php
và kiểm tra trực tiếp trên trình duyệt. Nếu output xuất hiện như ảnh đính kèm bên dưới với phần định dạng mở rộng có HEIC thì đã thành công.
Lỗi thường gặp
Nếu sau khi chạy lệnh identify -version
bạn gặp thông báo với lỗi sau convert: error while loading shared libraries: libMagickCore-7.Q16HDRI.so.10: cannot open shared object file: No such file or directory
Lỗi này có thể xảy ra khi hệ thống không tìm thấy thư viện chia sẻ được liên kết với ImageMagick. Để khắc phục lỗi này, bạn có thể thực hiện một trong các bước sau:
Bước 1: Cập nhật cache thư viện chia sẻ
Chạy lệnh sau để cập nhật cache thư viện chia sẻ trên hệ thống:
sudo ldconfig
Sau đó, thử chạy lại lệnh convert để kiểm tra xem lỗi đã được khắc phục chưa.
Bước 2: Cài đặt lại ImageMagick
Nếu bước 1 không khắc phục được lỗi, bạn có thể thử gỡ cài đặt ImageMagick và cài đặt lại. Để gỡ cài đặt ImageMagick, chạy lệnh sau:
sudo apt remove imagemagick
Sau đó, cài đặt lại ImageMagick theo hướng dẫn trong câu trả lời trước đó.
Bước 3: Cài đặt thư viện chia sẻ bị thiếu
Nếu lỗi xảy ra do thiếu thư viện chia sẻ, bạn cần cài đặt thư viện đó. Trong trường hợp này, thư viện cần cài đặt là libMagickCore-7.Q16HDRI.so.10. Bạn có thể tìm thấy tên gói cài đặt chứa thư viện này bằng lệnh sau:
sudo apt-file search libMagickCore-7.Q16HDRI.so.10
Sau đó, cài đặt gói tương ứng bằng lệnh sau:
sudo apt install <package-name>
Thay thế <package-name>
bằng tên gói tìm thấy ở bước trước.
Sau khi cài đặt thư viện chia sẻ bị thiếu, hãy thử chạy lại lệnh convert để kiểm tra xem lỗi đã được khắc phục chưa. Chúc bạn thực hiện thành công.