iPhone動画をMacでmp4に変換する
iPhoneで撮った動画アップロードしたいんだけど、 QuickTime
形式 (mov) で認識されない。そこで、MPEG-4に変換したい。
単純に変換したいだけではなく、動画のメタ情報も一緒に持っていきたい。
そこで、 ffmpeg
と exiftool
を使っていい感じに動画形式を変換してくれるスクリプトを書いた。
変換スクリプト
手順は次のようにした(6〜9行目)。
- ffmpegでメタ情報抽出
- メタ情報を使いつつ、動画を
QuickTime
からMPEG-4
に変換 - exiftoolでファイル作成日を撮影日にする
- 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