回答:
最も基本的な例は次のとおりです。
ffmpeg -i input.avi -s 720x480 -c:a copy output.mkv
ffmpeg -i input.avi -filter:v scale=720:-1 -c:a copy output.mkv
-1
自動的に縦横比を維持するために提供幅との関係で正しい高さを選択するffmpegのを教えてくれます。-1
特定の高さを指定する場合、幅にも使用できます。
使用時のスケールの欠点の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"
ffmpegビルドが認識しないこと-c
や-filter
オプションについて文句を言う可能性があることに注意してください。また、サポートしない場合がありscale
ます。その場合、新しいffmpegを使用する必要があります。これは、静的ビルドとしてダウンロードするか、自分でコンパイルできます。
ffmpeg -i output.mkv -filter:v scale=720:-1 -acodec copy -threads 12 output_shrink.mkv
(ffmpegバージョン0.8.6-6:0.8.6-0ubuntu0.12.10.1で)試しましたが、エラーが発生しましたUnrecognized option 'filter:v'
-filter:v
、オプションがに変更されたように見えました-vf
。
-filter:v
と-vf
両方とも大丈夫です。使用していたUbuntuバージョンは壊れていて古くなっています。実際にはFFmpegのバージョンではffmpeg
なく、Libav(FFmpegフォーク)が同名で提供しているバイナリです。
ffmpeg version 2.4.10
)いくつかの巨大なビデオのサイズを小さくしてスペースを解放するのに本当に役立ちました-ありがとう!
次のコマンドを使用して、ビデオと画像のサイズ変更を行います。固定幅と高さの場合-
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
注意 :
iw : input width
ih : input height
静的ビルドは、https://johnvansickle.com/ffmpeg/からダウンロードできます。
ffmpeg
参照、廃止されることがあり、こことここに