縦横サイズ変更
xxx.mp4の縦サイズを640に変更し、yyy.mp4として保存するコマンドです。scaleのコロンの右側を-1にすることで、アスペクト比が元のままになります。
ffmpeg -y -i xxx.mp4 -vf scale=640:-1 yyy.mp4
主にサイズを減少させたいときに使います。なお、リサイズした後に、縦横いずれかが奇数になるとエラーが出るので、その場合はscaleをちょっと変更します。
拡張子変更
動画の場合:
avi -> mp4
ffmpeg -i xxx.avi -pix_fmt yuv420p yyy.mp4
mov -> mp4
ffmpeg -i xxx.mov -pix_fmt yuv420p yyy.mp4
画像の場合:
ffmpeg -i a.png a.jpg
静止画を動画に変換
基本形 (Win):
ffmpeg -i xxx%03d.png yyy.mp4 ffmpeg -i xxx%d.png yyy.mp4
上は「001.png」〜「100.png」など、0が埋められた3桁連番の場合。
下は「1.png」〜「100.png」など、0埋めがない連番の場合。
Macだと再生できないので、pngとmp4の間に追加:
-pix_fmt yuv420p
heightサイズがおかしいというエラーの場合、pngとmp4の間に追加:
-vf “scale=trunc(iw/2)*2:trunc(ih/2)*2”
フレームレートを調整したい場合、-iの前に以下を追加:
-r 10
1秒間に10枚という意味
テンプレ:
ffmpeg -r 5 -i %03d.png -pix_fmt yuv420p -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" yyy.mp4
gifにしたい場合は以下。オプションなどは不要。
ffmpeg -i xxx%d.png yyy.gif