4K動画を撮影日時を維持したままFullHD(1080p)にダウンコンバートする。Macで。
要点
- Finderのコンテキストメニューから「選択したビデオファイルをエンコードする」を実行して変換する
- exiftoolを使用して変換元ファイルから変換後ファイルへexif情報をコピーする
背景
LUMIX G8で娘の成長を動画に記録する
この瞬間にしか見られないキャワワな姿をなるたけ高画質でかつファイルサイズを抑えてより多くのシーンを残したいという二律背反を実現するためには、4Kで撮影したあとFHDにダウンコンバートするという作業が必要
iPadを母艦に写真や動画の管理を行っているため、iPadかMacで無料でいい感じにエンコードできねーかなーーーと思っていた
方法
動画ファイルの取り込みはiPad mini 4で行っているため、まずはiCloudからMacにダウンロードする。
ダウンロードした動画ファイルをFinder上で右クリックすると、コンテキストメニューの下の方に「選択したビデオファイルをエンコードする」という項目がある。
画像1
「選択したビデオファイルをエンコードする」を実行すると、以下のようなダイアログがあらわれる。ここで任意の解像度 (今回は1080p) を指定し変換を開始する。 ちなみに複数ファイルを選択して実行すると、1回の設定で選択したファイルすべての変換が行われる。
画像2
ただし、変換後の動画ファイルは、撮影日時が作成日時と同一になってしまい、このままでは写真アプリ等で撮影日時順に並んでくれない。
画像3
そこでexiftoolというexif情報を操作するツールを使用して、変換元の動画ファイルからexif情報をコピーする。
exiftool -tagsfromfile old.mp4 new.mov
かんせい!
最後に
色んなシーンを撮るので動画ファイルが数十個に及ぶこともある。
変換自体は一括で行えるが、exiftoolのコマンドを都度実行するのは面倒。
シェルスクリプトで一括でやるにはこんな感じ。
for i in `ls ./origin`; do exiftool -tagsfromfile ./origin/${i%.*}.mp4 ./converted/${i%.*}.mov; done
変換前ファイルと変換後ファイルをそれぞれorigin、convertedフォルダに移動し、各フォルダ内の同名ファイルを対象にexiftoolを実行するという泥臭みがあふれるコマンドである。
iCloudからのダウンロードから再エンコ、exif変換までワンクリック (またはオート) でやれないものか。MacらしくAppleScriptとかAutomatorとかで。
これは今後の課題としたい。