再エンコードせずにフレームをドロップしてサイズを縮小する

再エンコードせずにフレームをドロップしてサイズを縮小する

フレームをドロップして速度を上げることで、ファイルサイズを大幅に削減したいと考えています。

以下は再エンコード時にのみ機能します:

  • ffmpeg -r 1000 -i input.mp4 -r 30 -y output.mp4

  • ffmpeg -itsscale .01 -i input.mp4 -r 30 -y output.mp4

追加すると-c copy壊れます。

  • -r 1000メソッドはまったく何も行いません。

  • -itsscaleビデオの速度は上がりますが、ファイルサイズは縮小されません...すべてのフレームがファイル内に隠れて残っていますか?

再エンコードせずにフレームをドロップしてファイルサイズを縮小する方法はありますか?

答え1

一部のフレームは前のフレームに依存しているため、フレームをドロップするだけではビデオが正常に動作しません。これは、ファイル サイズを縮小するために多くのコーデック/形式で使用される最適化です。

したがって、ビデオのサイズを縮小したい場合は、必ず再エンコードする必要があります。

より良い解決策については、投稿をご覧ください ffmpeg でビデオのサイズを縮小するにはどうすればよいですか?

この高投票の投稿に対する回答には、さまざまな解決策がリストされています。

  • 同じ品質でより多くの圧縮が可能な、はるかに優れた H.265 ビデオ形式を使用します。
  • 使用-crf 28リンク
  • 解像度を小さくするには、ビデオのサイズを縮小します。
  • ビデオに高速アクションシーンが含まれていない場合は、フレーム レートを下げます。
  • 圧縮率を上げます。
  • 色の深度を下げます。

関連情報