4K動画を撮影日時を維持したままFullHD(1080p)にダウンコンバートする。Macで。

要点

背景

  • LUMIX G8で娘の成長を動画に記録する

  • この瞬間にしか見られないキャワワな姿をなるたけ高画質でかつファイルサイズを抑えてより多くのシーンを残したいという二律背反を実現するためには、4Kで撮影したあとFHDにダウンコンバートするという作業が必要

  • iPadを母艦に写真や動画の管理を行っているため、iPadMacで無料でいい感じにエンコードできねーかなーーーと思っていた

方法

動画ファイルの取り込みは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とかで。

これは今後の課題としたい。