ffmpegを使用してビデオサイズを縮小する方法は?

ffmpegを使用してビデオサイズを縮小する方法は?

どうやって使うの?ffmpeg品質を下げてビデオサイズを小さくしますか? (空き容量が少ないモバイルデバイスで実行する必要があるため、当然のことながら可能な限り小さいサイズで)?

動画で字幕(*.srtまたは*.sub)を使用できる場合は、変換した動画ファイルに適したパラメータに変換したいことに注意してください。

ベストアンサー1

2020年更新:この回答は2009年に作成されました。 2013年以降、H.264よりも優れたビデオフォーマット、つまりH.265が広く使用されています(同じ品質でより多くの圧縮を行うか、同じサイズでより高い品質を提供するという点で優れています)。これを使用するには、libx264コーデックをlibx265に置き換えてCRF値を増やす(4または6の追加など)、圧縮レバーをさらにスライドさせる必要があります。 H.265の合理的な範囲はおそらく24〜30であろうからです。参考にしてください減らすCRF値は次のとおりです。高いビットレートにより高い高品質のビデオ。

ffmpeg -i input.mp4 -vcodec libx265 -crf 28 output.mp4

libx265 を指定することもできます。基本、これはファイルサイズと品質に影響します。


以前のH.264形式を使用して適用されたこの技術については、以下を参照してください。この回答、便宜上、次のように引用されます。

ターゲットサイズ(ビット単位)をビデオ長(秒単位)で割って必要なビットレートを計算します。たとえば、ターゲットサイズは1 GB(1 GB)です。バイト、つまり8GBです。少し)および10,000秒のビデオ(2時間46分40秒)、800,000ビット/秒(800kbit / s)のビットレートを使用する:

ffmpeg -i input.mp4 -b 800k output.mp4

考慮すべき他のオプションは次のとおりです。一定の比率要素、これは平均ビットレートを下げますが、より良い品質を維持します。 CRFを18から24の間に変更します。低いほど、ビットレートは高くなります。

ffmpeg -i input.mp4 -vcodec libx264 -crf 20 output.mp4

おすすめ記事