我使用以下代码将 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
。