并行使用ffmpeg递归转换文件

时间:2018-11-09 17:37:54

标签: ffmpeg parallel-processing gnu-parallel

我有以下两个命令:

parallel --eta ffmpeg -loglevel 0 -i {} -c:a aac -b:a 64k {.}.aac ::: *

将当前文件夹中的所有文件(音频)以并行(file.mp3>file.aac)转换为aac格式,并且

find . -type f -not -name "*.jpg" -exec bash -c 'ffmpeg -loglevel 0 -i "{}" -c:a aac -b:a 64k "{}".aac' \;

可将所有子目录中的所有文件转换为aac格式(file.mp3>file.mp3.aac),但不能并行转换。

所以我想完成两件事:

  1. 并行执行命令2
  2. 将结果保存为命令1中的内容,即用file.mp3>files.aac代替file.mp3>file.mp3.aac

我尝试了一些组合,但是没有用。

1 个答案:

答案 0 :(得分:1)

好,

我想我终于像这样了:

find . -type f -not -name "*.jpg" -not -name "*.png" -not -name "*.aac" -print0 | parallel -0 --eta ffmpeg -loglevel 0 -i {} -c:a aac -b:a 64k {.}.aac