2017-07-29 5 views
1

ffmpegで高速エンコードを実装するにはどうすればよいか知りたい。 私はこのコードを使用:ffmpegで高速エンコードを実装するには?

vcodec libx264 -pix_fmt yuv420p -r 30 -g 60 -b:v 1000k -shortest -acodec libmp3lame -b:a 128k -ar 44100 -threads 0 -preset veryfast 

をしかし、それはわずか50%のCPU(デュアルXeonプロセッサ2.3 GHzの)および2%(15ギガバイト)ラムを使用しています。

今、私はそれが高速なエンコードのためのCPUとRAMの多くを使用したい、どのように行うには?ありがとうございます。

+0

このエンコーディングのソースビデオとは何ですか? – VTT

+0

出力に 'cpu capabilities:none!'が表示されていないことを確認してください。これは、誤って構成されたx264以降のエンコードを示します。 – LordNeckbeard

答えて

1

使用されているスレッドの数は、使用されているコーデック、設定、ハードウェアによって大きく異なります。それに加えて、RAMは、わずかな分解能で「ちょうど」1000kのビットレートでその量をまれにしか使用されません。したがって、約15GのRAMは必要ありません。

-threads 0は、ハードウェアの「最適な使用」を意味します(アルゴリズムによっては自動的に設定されます)。私はそれをお勧めしませんが、-threads 2 2スレッド、または-threads 4 4スレッドを設定することができます。 経験則として、コアごとに1つのスレッドを設定できます(コアが4つ、スレッドが4つ、コアが8つ、スレッドが8つの場合など)。

すべてのコアとオーディオでビデオを同時にエンコードすると、ffmpeg自体によって計算される別の「最適な使用法」よりもスピードが遅くなることにご注意ください。ただ試してみてください;-)

+0

助けてくれてありがとう、私は 'スレッド8'に増加しようとしましたが、エンコーディングのスピードは変更されていません。 – prodiskieu

+0

プリセットは '' -threads''も定義しています。 '' -preset veryfast -threads 2''を設定してください( '' -preset''が最初に来るので、 '' -threads''は上書きされます)。 –

+0

ありがとうございますが、エンコードのスピードはまだ一定です。私はあきらめる:v – prodiskieu

関連する問題