web-dev-qa-db-ja.com

複数のスレッドでのavconv

複数のプロセッサまたはスレッドでジョブを実行してavconvを高速化することは可能ですか?
進行中の機能はありますか?

9

Avconvの-threadsオプションの後です。最も安全な設定は次のとおりです。

 -threads auto

少し実験したい場合は、そこに整数を設定することもできます。現代のFFmpeg(現在はUbuntuの標準)は、これをautoデフォルトに設定します。これは、「ffmpeg-all」のマニュアルページのこのセクションで見られます。

threads integer (decoding/encoding,video)

Set the number of threads to be used, in case the selected
codec implementation supports multi-threading.

  Possible values:

     auto, 0
     automatically select the number of threads to set

 Default value is auto.

注2重要な点:

  1. この設定は、選択したコーデックがマルチスレッドをサポートしている場合にのみ有効です
  2. 単にグローバルなスレッド設定を試みるのではなく、個々のストリームのスレッド数を設定することが可能です
11
andrew.46

多数のファイルのオーディオトランスコーディングを行う場合は、GNU Parallelの使用を検討してください。入力としてファイルのリストを取り、システムのコアの数に基づいてそれらを並行して処理します。たとえば、ffmpegを使用して音楽を並行してopusオーディオ形式に変換するbashの例を次に示します。

find ./* -depth -type f -name \*.ogg -o -name \*.flac -o -name \*.m4a -o -name \*.mp3 -o -name \*.ogg | parallel -j+0 --gnu Nice -n 19 ffmpeg -i "{}" -acodec libopus "{.}.opus" -loglevel quiet
3
mmstick