[FFmpeg] 動画をリサイズする

動画のサイズを変更する

動画の解像度を変更するときに使用するコマンドです。

ピクセル指定してリサイズ

-s オプションのあとに、動画のタテのサイズ、ヨコのサイズをピクセル指定します。
※アスペクト比は無視されます

ffmpeg -i INPUT.mp4 -s 640x360 OUTPUT.mp4

アスペクト比を維持してリサイズ

アスペクト比を保ったままサイズ変更する場合は -vf scale=[横幅]:[縦幅] を使います。

ffmpeg -i INPUT.mp4 -vf scale=1080:-1 OUTPUT.mp4

横幅を調整する場合は、縦幅に-1を入れます。(縦を調整する時は逆にする)

サイズ変換時にエラーが起きた場合の対処法

動画の画面サイズを変換するとき、以下のようなエラーメッセージが出て変更できないことがあります。

[libx264 @ 0000021ff413b040] height not divisible by 2 (720x405) (中略) [out#0/mp4 @ 0000021ff3a9c3c0] Nothing was written into output file, because at least one of its streams received no packets.

エラーの原因

上記のエラーメッセージは「ファイルの高さ (height) を2で割り切れる数字にしてください」という意味です。
つまり、出力される動画の縦と横の幅のいずれかが 奇数になる 場合にエラーが起きます。

対処法

このようなエラーが起きる場合は、変更後の動画のサイズが2で割れる数になるように調整する必要があります。

アスペクト比を維持したいときは-1ではなく -2 を使います。(例: scale=1080:-2 )
-2を指定された側は、強制的に2で割れる数に調整されます。(720×405の場合は、自動的に720×404となる)

ffmpeg -i INPUT.mp4 -vf scale=720:-2 OUTPUT.mp4
記事をシェアする
  • X
  • Bluesky
  • Facebook
  • Hatena
  • line