SHOZOS’s diary

Mac、車 ガジェットなど節操なしに

EXIFTOOL覚え書き AVI→MP4変換時の日付問題

目的は写真管理 EXIFTOOL のことは詳しい方々にお任せするとして

動画のAVIファイルを MacOS写真アプリで読み込むと日付を認識せずすべて最新になってしまうのをなんとかしたい。というのが目的です。そもそもAVIファイルなんて昔々に取った動画なので最近の動画フィルにはお目にかからないのですが、写真整理のアプリを移行したりするときに超めんどうな事になってしまいます。

対応としてAVIファイルをすべてMP4に変換しますが、ここに落とし穴です。少なくとも私の環境でAVIファイルをMP4に変換する際に日付、時間情報はすべて失われてしまい、結局いつ撮影した動画か分からなくなってしまいます。本末転倒ですね。

そこで・・・こういう手段を考えました。

1: AVIファイルのファイル名を撮影日時に変更
2: 変更したファイルをAVIーMP4変換
3: ファイル名から動画ファイルのEXIF日時情報を書き換え

では実際に
対象AVIファイルのあるディレクトリに移動して AVIファイルの撮影日時情報が残っているか確認する
$ exiftool -alldates hoge.avi
Date/Time Original : 2005:07:18 20:12:33

おお、DateTimeOriginal に撮影日時が残ってたのでこれを使います。

$ exiftool '-filename<${DateTimeOriginal}.%e' -d %Y%m%d-%H%M%S *
1 image files updated
同一ディレクトリにあれば複数一気に処理が進みます。

できあがったファイルは
20050718-201233.AVI  となりました。 
このファイルを動画変換ツールで MP4に変換します。 (ここは割愛)

変換が完了したファイルは拡張子も変更されて
20050718-201233.MP4
になります。

こんどはこのファイルをファイル名を拾ってEXIFの日時に書き込んで行きます。
元々 Date/Time Original  にしか情報がありませんでしたが、この際少し乱暴ですが
Date/Time Original
Create Date
Modify Date  
も同じ日時を書き込んでしまいます。

$exiftool '-alldate<filename' ./*.MP4

で完了です。