iOSの場合,[設定]-[カメラ]-[ビデオ撮影]で720p HD/30 fpsまたは1080p HD/30 fpsを選ぶことができる(最新のiPhoneなどではさらに高画質のものも選択できる).1080pは1920x1080, 720pは1280x720のことである(どちらも16:9).1080pから720pに変えるとファイルサイズはおおむね1/2以下になる.
ffmpegを用いると動画のファイル形式や解像度をコマンドラインで変更することができる.
$ ffmpeg -i movie.mov -vf scale=-1:360 360p.mp4
縦を設定し,横は自動で設定する(-1)と楽である.
縦 | 解像度 |
---|---|
1080 | 1920x1080 |
720 | 1280x720 |
576 | 1024x576 |
432 | 768x432 |
360 | 640x360 |
270 | 480x270 |
ファイルにもよるが,mp4の場合,720 -> 576でおおむねファイルサイズが半分に,720 -> 432でおよそ1/4に,720 -> 360でおよそ1/7になる.
$ ffmpeg -loop 1 -i input.jpg -r 30 -i input.m4a -vcodec libx264 -acodec copy -pix_fmt yuv420p -r 30 -shortest output.mp4
最初の -rで入力フレームレートを,2回目の -rで出力フレームレートを設定する.これがほかの動画ファイルと異なると,結合したときに表示されなくなる.
画像は,前後の映像の解像度と合わせておくと楽なようだ.
$ ffmpeg -safe 0 -f concat -i files.txt -c copy output.mp4
files.txtには次のように書いておく.
file mov1.mp4 file mov2.mp4
確認.
$ ffmpeg -i input.mp4 -vn -af volumedetect -f null -
0dBになるようにするとちょうどよい.
$ ffmpeg -i input.mp4 -af volume=5dB output