以下の方法は、自分の使用環境のみで確認しています。
悪しからず。
この記事で紹介した通り、
iPhoneで高効率かつ、4:3以外のアスペクト比で撮影すると、複数のファイルが作成されるようです。。
おそらく、アスペクト比だけでなく、カメラ設定をデフォルトから変更して撮影すると。。
以下で、生成される画像ファイルのHEICファイルを扱いやすいJPEGに変換します。
HEICファイルとは
HEICファイルは、High Efficiency Image Coding
高圧縮率の画像ファイルらしいです。
最近は、Windowsでも表示できるみたいですが、非対応のものもあり、
結果JPEGにしたほうがいろいろ便利。
また、AAEファイルはiPhone(=iOS)くらいでしか活用できそうになさそうです。
HEICファイルをJPEGファイルへ変換する。
Macで変換する方法は簡単で、以下のコマンドを実行します。
これで、既存のファイルに影響を与えずに、HEICファイルをJPEGファイルに変換できます。
変換後のファイル名は、元のHEICファイルの拡張子を
jpgにしたファイル名になります。
同様に sips コマンドでオプションを変えれば、
sips -g all <image_file_name>
で、画像情報(EXIF??)が出力されます。
撮影日時は、creation で表示されます。
必要なものだけ変換&抽出する。
以前の調査結果から、写真撮影時にiPhoneで生成される画像ファイルはこんな感じ。
- ワンシャッターで4桁番号をIDとしたファイルが(複数)生成される。
- AAEは、画像編集記録履歴ファイル?
- 4:3で撮影した写真は、IMG_xxxx.HEIC のみ。
- 4:3以外で撮影した写真は、IMG_Exxxx.HEIC (4:3のIMG_xxxx.HEICもある)
- スクショは、IMG_xxxx.PNG
- 動画は、IMG_xxxx.MOV
heicファイル自身は、加工情報を持たない画像ファイルなので、
E付きheicファイルがある場合は、E付きをjpegにする。
ない場合は、無印heicファイルをjpegにする。
(出力ディレクトリへコピー)
いまのところ、番号は4桁ですので、10,000以上の命名規則はわからないです。
ファイルの更新日時
ついでに、ファイルの更新日時を、撮影日時にしておきたいのが、人情というモノ。
これは、linuxでもお馴染みのtouchコマンドでなんとかなります。
作成日時は変更できないので注意。
touch -t YYYYMMDDhhmm.ss <target_filename>
処理手順
iPhoneからコピーしたファイルから、必要なHEICのみをJPEGに変換し、 その他は別ディレクトリにコピーする手順を考えておきます。
- E付きHEICファイルがあれば、それをJPEGに変換する。(sips)
- E付きがなければ、無印HEICファイルを、JPEGに変換する。(sips)
- JPEGの撮影日時を、取得する。(sips)
- 出力ファイルの更新日時に変更する。(touch)
- MOVファイルはコピーする。
- PNGファイルはコピーする。
- 同名のファイルが結果出力ディレクトリにある場合は、変換しない。
処理時間は、MacBook12で、だいたい1ファイル1秒かかります。
最初はしょうがないけど、
2回目以降は、結構バカにならないので、(7)の工程を入れておきます。
(後日、きれいにして公開予定。。?)