Est-il possible d'exécuter des tâches sur plusieurs processeurs ou threads pour accélérer avconv?
Y at-il une fonctionnalité en cours, sinon je me demande pourquoi?
Vous êtes après l'option - threads de avconv. Le réglage le plus sûr serait:
-threads auto
mais vous pouvez aussi y définir un entier si vous voulez expérimenter un peu. Un FFmpeg moderne (maintenant le standard sous Ubuntu) définit ceci comme auto
par défaut comme indiqué dans cette section des pages de manuel '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.
Notez 2 points importants:
Si vous effectuez un transcodage audio de nombreux fichiers, utilisez GNU Parallel. Il faudra une liste de fichiers en entrée et les traiter en parallèle en fonction du nombre de cœurs de votre système. Par exemple, voici un exemple bash qui convertira de la musique au format audio opus en parallèle en utilisant ffmpeg.
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