iPhone動画をMacでmp4に変換する

thumbnail for this post

iPhoneで撮った動画アップロードしたいんだけど、 QuickTime 形式 (mov) で認識されない。そこで、MPEG-4に変換したい。
単純に変換したいだけではなく、動画のメタ情報も一緒に持っていきたい。

そこで、 ffmpegexiftool を使っていい感じに動画形式を変換してくれるスクリプトを書いた。

変換スクリプト

手順は次のようにした(6〜9行目)。

  1. ffmpegでメタ情報抽出
  2. メタ情報を使いつつ、動画を QuickTime から MPEG-4 に変換
  3. exiftoolでファイル作成日を撮影日にする
  4. exiftoolでファイル変更日を撮影日にする
#!/bin/bash

export exts=("mov" "MOV")

convert() {
	ffmpeg -i $1 -f ffmetadata $1.ini
	ffmpeg -i $1 -i $1.ini -map_metadata 1 $1.mp4
	exiftool -T -CreationDate $1 | xargs -I% exiftool -FileCreateDate="%" $1.mp4
	exiftool -T -CreationDate $1 | xargs -I% exiftool -FileModifyDate="%" $1.mp4
}

for ext in ${exts[@]}; do
	for f in *.$ext; do
		convert $f
	done
done

QuickTimeの動画ファイルのあるディレクトリでこのスクリプトを実行するとMPEG-4形式に変換される。

変換スクリプト名を tomp4.sh とした場合、こうやって使う。

$ cd Movies
$ ls
movie.MOV

$ tomp4.sh
$ ls
movie.MOV
movie.MOV.ini
movie.MOV.mp4