birden çok iş parçacığında avconv


9

Avconv'u hızlandırmak için işleri birden çok işlemci veya iş parçacığında çalıştırmak mümkün müdür?
Devam eden bir özellik var mı, değilse merak ediyorum neden?

Yanıtlar:


11

Sen peşinde -threads avconv seçeneği. En güvenli ayar:

 -threads auto

ancak biraz deneme yapmak istiyorsanız, burada bir tamsayı da ayarlayabilirsiniz. Modern bir FFmpeg (şimdi Ubuntu'daki standart) bunu auto varsayılan olarak 'ffmpeg-all' man sayfalarının bu bölümünde görüldüğü gibi ayarlar :

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.

Not 2 önemli noktalar:

  1. Bu ayar yalnızca seçilen codec bileşeni çoklu iş parçacığı desteklemeyi destekliyorsa etkili olur
  2. Global bir iş parçacığı ayarını denemek yerine, tek tek akışlar için iş parçacığı sayısını ayarlamak mümkündür

1
Aksine bir kaynağınız varsa beni düzeltin, ancak Avconv ve avplay'ın hala aksi belirtilmedikçe varsayılan olarak -threads auto kullandıkları izlenimi altındayım. Sistem monitörü bunu yedekliyor gibi görünüyor.
Elder Geek

1
Kod dönüştürme için kullanılan codec bileşenine bağlı olduğuna inanıyorum. Bu resmi olarak test edilebilir ve bu da ilginç bir test yapılmasını sağlayacaktır. Bu konuda çevrimiçi olarak bulabileceğim bilgiler özellikle yararlı değil. Başka bir sorun kullanılan FFmpeg sürümü olurdu, konu seçenekleri eski sürümlerinde farklı kullanıldı ...
andrew.46

1
Evet. FFmpeg ve avconv çataldan beri biraz farklı yönlere gitti. Daha fazla araştırma, komut satırındaki ön ayarlardan birini kullanırsanız avconv'da -threads auto öğesinin varsayılan olduğunu gösterir.
Elder Geek

3

Çok sayıda dosyanın ses kodlamasını yapıyorsanız, GNU Paralel kullanmaya bakın. Dosyaların bir listesini girdi olarak alır ve sisteminizdeki çekirdek sayısına göre paralel olarak işler. Örneğin, ffmpeg kullanarak paralel olarak müziği opus ses formatına dönüştürecek bir bash örneği.

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
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.