私は1280x720 25fpsビデオに最適なlosslessビデオ形式を見つけようとしています。ビデオは4分です。音は320 kbps mp3になりますが、大したことではありません。理想的な条件:
それは可能ですか?満足のいく結果が得られずに、3日間苦労してきました。12GBのファイルを取得することもできます(多くの場合、3 GB /分)。
私が知る限り、実際に数学的に損失のない最高の形式はhuffyuvですが、これは陽気に巨大なファイルを生成し、多くのファイルと互換性がありません。参考までに、ffmpegは次のように実行できます。
ffmpeg -i input -c:v huffyuv -c:a libmp3lame -b:a 320k output.avi
オープンソースのh.264エンコーダーであるX264には、ロスレスモードがあります。これはMP4コンテナの内部に入る可能性があり、過去数年間に作られたほとんどのハードウェアと互換性があるはずです。最初のコマンドは、高速のエンコード速度を提供しますが、ファイルが大きくなります。 2番目のコマンドの方がはるかに時間がかかりますが、ファイルは高速にエンコードされたものの約半分のサイズである必要があります(ただし、ファイルはかなり大きくなります)。
ffmpeg -i input -c:v libx264 -crf 0 -preset ultrafast -c:a libmp3lame -b:a 320k output.mp4
ffmpeg -i input -c:v libx264 -crf 0 -preset veryslow -c:a libmp3lame -b:a 320k output.mp4
それでも十分に小さいファイルが得られない場合、CRF 18は一般に「視覚的にロスレス」と見なされます。
ffmpeg -i input -c:v libx264 -crf 18 -preset veryfast -c:a libmp3lame -b:a 320k output.mp4
私は通常、x264でエンコードするための非常に高速なプリセットをお勧めします。私の経験では、最高の速度/サイズのトレードオフを提供します(超高速と非常に高速の間でファイルサイズに大きな低下があり、それよりも遅く、より増分的です)。一般的なアドバイスは、処理できる最も遅いプリセットを使用することです。プリセットは、超高速、超高速、超高速、高速、高速、中速、低速、低速、超低速です。
X264エンコーディングの詳細なガイドについては、 こちら を参照してください。
最近は好き webm :
ffmpeg -i input.avi -c:v libvpx-vp9 -lossless 1 output.webm
マルチコアプロセッサで高速に変換するには、実際のコアよりも1つ少ないスレッドを使用することをお勧めします。したがって、8コアでは、次のように7つのスレッドを指定できます。
ffmpeg -i input.avi -c:v libvpx-vp9 -threads 7 -lossless 1 output.webm