heif を jpg に変換してみた

これ、Java on Linux の人は2018年時点だと意外と場合によっては苦戦するのかな?と思ったので、
バニラな Amazon Linux2 で、heif を jpg に変換する方法を省略一切なしで書いておきます。
※ その後、Amazon Linux でもまったく同じ手順で動くことを確認しました。


そのまま流せば良いだけです。

sudo su
yum install git gcc-c++ automake libtool libjpeg-devel
git clone https://github.com/strukturag/libde265.git

cd libde265
git checkout v1.0.3
./autogen.sh
./configure
make install

echo "/usr/local/lib" > /etc/ld.so.conf.d/locallib.conf
ldconfig
ldconfig -p|grep 265 # ライブラリが入ってることの確認

cd ..
git clone https://github.com/strukturag/libheif.git
cd libheif
git checkout v1.3.2
./autogen.sh
PKG_CONFIG_PATH=/usr/local/lib/pkgconfig ./configure
make install
ldconfig
ldconfig -p|grep heif   # ライブラリが入ってることの確認
exit

これで、`heif-convert` っていうサンプル実装が使えるようになります。

後は一般ユーザに戻って、

$ heif-convert IMG_0128.HEIC hoge.jpg                                                               
File contains 1 images
Written to hoge.jpg

て感じで無事変換されることが確認できると思います。
公式とかいくつかのブログ記事見た限りだと、全部このへん詳しい人が書いてるためか、
ldconfig してる例が一個も無かったんですが、これははしょられると、
環境によってはメチャはまる気がします。

これは、heif --> jpg 変換ですが、png にも変換することは出来ます。
その場合、一番↑の libjpeg-devel 入れてるのと同じ要領で、
png 用のライブラリもあらかじめインストールしてください。
(そこは今回自分には必要なかったのではしょります)

詳しいことが知りたい方は、各コマンドを個別にぐぐってもらうと
それぞれ詳しい説明が書いたところに行き着ける・・・かもしれませんw