goheif(by jdeng) を使って HEIC(HEIF) から JPG へ変換する

概要

最近 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 への変換 をご覧ください。

Copied title and URL