使用 ffmpeg 将 wav 文件批量转换为 m4a 文件

Batch convert wav to m4a files using ffmpeg

我正在尝试在 Mac OS Mojave 上使用终端中的 ffmpeg 将数千个 wav 文件批量转换为 96k m4a 文件。
我正在尝试使用以下代码:
for f in *.wav; do ffmpeg -i "$f" -c:a libfdk_aac -b:a 96k “${f%.wav}.m4a”; done
我收到以下错误:
无法为“file.m4a”找到合适的输出格式 “file.m4a”:参数无效
有人可以帮忙吗?

智能引号被视为文件名的一部分。 请改用普通引号:

for f in *.wav; do ffmpeg -i "$f" -c:a libfdk_aac -b:a 96k "${f%.wav}.m4a"; done

如果您有很多文件要转换,您可能希望同时进行:

find . -name '*. wav' -type f -print0 | parallel -0 ffmpeg -i {}  -c:a libfdk_aac -b:a 96k {.}.m4a

查看 this doc 了解如何使用 parallel。如果您没有该工具,请使用 brew install parallel.

安装它

Scott 的回答也很好。我喜欢 parallel 因为它也让我很容易,例如修改输出文件的名称。