通过批处理作业将 WAV 转换为 ALAC 时出现问题

通过批处理作业将 WAV 转换为 ALAC 时出现问题

我使用以下代码将 WAV 转换为 ALAC(bash、macOS 10.12.1):

find . -type f -iname "*.wav" | while read fn; do ffmpeg -i "$fn" -acodec alac "${fn%.wav}.m4a"; done

但似乎有一个错误,因为它打印了这样的警告:

n---8085/03_Part_III.wav: No such file or directory

正确的路径是:

Bad_Religion/wav/Bad_Religion---8085/03_Part_III.wav

由于某种原因,路径被截断。

命令有什么问题?

答案1

您的文件名实际上并未被截断。这里,ffmpeg正在尝试从其输入流中读取命令。不幸的是,这与用于确定文件名的流相同read,因此看起来这些文件名的部分内容未被读取。要解决此问题,您应该ffmpeg使用该标志禁用输入流上的交互-nostdin

相关内容