概要
最近 iPhone を買い換えたため、写真が *.HEIC (HEIF) で保存されるようになりました。
JPGに変換できる手段がないか、github で探したところこれを実現できるものがありました。
実行環境
- WSL Ubuntu-22.04
- go version go1.18.1 linux/amd64
実行方法
下記の通り実行すれば変換ができると思われます。
git clone https://github.com/jdeng/goheif.git
cd goheif cd heic2jpg go mod init hei2cjpg
go get github.com/jdeng/goheif
go run main.go 入力ファイル.HEIC 出力ファイル.JPG
下記でまとめて変換することができます。
ls *.HEIC | sed s/.HEIC// | xargs -t -n1 bash -c 'go run main.go $0.HEIC $0.JPG'
注意点(2024.01.03追記)
ファイルによっては下記のようなメッセージが表示され、変換できないものがあるようです。
EXIFが正しく読み込めない場合がありそうです。
2024/01/03 11:10:51 Warning: no EXIF from iPhone13mini/202308__/IMG_6686.HEIC: error reading "meta" box: got box type "free" instead 2024/01/03 11:10:51 Failed to parse iPhone13mini/202308__/IMG_6686.HEIC: error reading "meta" box: got box type "free" instead exit status 1
解決策については HEIC(HEIF) から JPG への変換 をご覧ください。