ffmpegを使用して品質を低下させることなくビデオファイルのサイズを大幅に減らすにはどうすればよいですか?

ffmpegを使用して品質を低下させることなくビデオファイルのサイズを大幅に減らすにはどうすればよいですか?

YouTubeでは、1080pの解像度、10分以上の長さ、サイズが50-60MBに過ぎないいくつかの動画を見ました。

私のビデオは長さが3分にすぎず、解像度は720pにすぎませんが、サイズを90MB以下に減らすことはできません。

もう一つ確認しました。サイズの縮小に関する質問に答えるには、ここをクリックしてください。。以下を使用してビットレートを変更してみてください。ffmpeg -i input.mp4 -b 1000000 output.mp4

また、ffmpeg -i input.mp4 -vcodec libx265 -crf 20 output.mp4 libx264,265の使用中に-crfを18から24に変更してみましたが、これは出力サイズがほぼ同じになり、時には小さくなるよりも大きくなりました。

ベストアンサー1

私はh265コーデックのための良い経験を持っています。

出力ビデオのサイズは、目立つ品質の低下なしに2〜8倍に縮小されます。

ffmpeg -i input.mkv -c:v libx265 -vtag hvc1 -c:a copy output.mkv

ファイルサイズをさらに小さくしたい場合は、x265サポートするケースレポートフォームそして2つの異なる目標ビットレートアルゴリズム:

x264と同様に、x265エンコーダには次のようなさまざまな速度制御アルゴリズムがあります。

  • 1パス目標ビットレート(-b:v設定)
  • 2パス目標ビットレート
  • 固定率係数(CRF)

ケースレポートフォーム:

ビットレートはCRFによって異なりますが、品質はフレームごとにほぼ同じです。

CRF は 0 から 51 の値にすることができ、値が低いほど品質が高くなります。あなたが望むのは、比較的高いCRFを設定することです。当然、品質が悪くなります。

  • CRFを選択します。 CRFは品質に影響を与えます。デフォルトは28で、CRF 23のlibx264ビデオと視覚的に一致する必要がありますが、ファイルサイズは約半分です。 CRF は x264 と同じように動作するため、許容できる品質を提供する最高値を選択してください。

  • プリセットを選択します。デフォルトは中間です。プリセットは圧縮効率とそれに応じた符号化速度を決定する。有効なプリセットは、超高速、超高速、超高速、高速、高速、中、低速、低速、超低速、プラセボです。忍耐強く、最も遅いプリセットを使用してください。プラセボは、エンコード時間の大幅な増加に対して無視できる補償を提供するので、無視してください。

  • 曲を選択してください(オプション)。この機能はデフォルトで無効になっており、通常はチューニングオプションを設定する必要はありません。 x265は、psnr、ssim、gran、zerolatency、fastdecodeなどの-tuneオプションをサポートしています。これについてはH.264ガイドに記載されています。

条件説明表の例

ffmpeg -i input -c:v libx265 -crf 28 -preset slower -c:a copy output.mp4

この例では、オーディオストリームのみをコピーしていることに注意してください。オーディオストリームをトランスコードして、数MBをさらに節約することもできます。

おすすめ記事