FFmpegで動画を小さくするリサイズ方法
FFmpegで動画を小さくするためにサイズを変更することは可能ですか?
元の動画のサイズが1024x576なのですが、要件を満たすために動画を720x480にリサイズしたいと思います。
どうすればいいですか?
FFmpegで動画を小さくするためにサイズを変更することは可能ですか?
元の動画のサイズが1024x576なのですが、要件を満たすために動画を720x480にリサイズしたいと思います。
どうすればいいですか?
最も基本的な例は以下の通りです。
ffmpeg -i input.avi -s 720x480 -c:a copy output.mkv
(http://ffmpeg.org/ffmpeg-filters.html#scale) scale
フィルター を使用することで、より柔軟性が増します:
ffmpeg -i input.avi -filter:v scale=720:-1 -c:a copy output.mkv
-1
は、アスペクト比を維持するために、指定した幅に対して自動的に正しい高さを選択するよう ffmpeg に指示します。-1
は、指定した高さを指定した場合、幅にも使用することができます。
libx264
を使用した場合のスケールの欠点は、このエンコーダは偶数値を必要とし、スケールが自動的に奇数値を選択してエラーになる可能性があることです。width or height not divisible by 2
. 指定された高さ(この例では 720)に対して偶数値を選択するようにスケールに指示することができます:
scale="trunc(oh*a/2)*2:720"
…または指定された幅(この例では 1280)に対して:
scale="1280:trunc(ow/a/2)*2"
… また、-c
をサポートしていない場合もあります。その場合は、新しいバージョンのFFMPEGを使用してください。
私は以下のコマンドを使って動画や画像のリスケーリングを行っています。幅と高さが固定されている場合 -
ffmpeg -i input.avi -vf scale="720:480" output.avi
縦横比を維持したい場合は、高さに-1を与えるだけで、幅に基づいて自動的にリサイズされます -
ffmpeg -i input.avi -vf scale="720:-1" output.avi
入力サイズに基づいて拡大縮小したい場合は、次のようにします。
ffmpeg -i input.avi -vf scale="iw/1:ih/2" output.avi
NOTE :
iw : input width
ih : input height
スタティックビルドは以下からダウンロードできます - https://johnvansickle.com/ffmpeg/
ドキュメンテーション : https://ffmpeg.org/ffmpeg.html#filter_005foption