我有一个由许多子文件夹组成的文件夹,每个子文件夹都有其他子文件夹,其中包含 wav 文件。
我想像这样转换所有文件:
ffmpeg -i BmBmGG-BmBmBmBm.wav -acodec pcm_s16le -ar 44100 BmBmGG-BmBmBmBm.wav
但是,我希望保留目录结构和名称。要么被覆盖,要么在并行目录中。
当输出文件具有不同的名称时,上面的命令字很好,但是,具有相同的名称时,我会收到错误:
Multiple frames in a packet from stream 0
[pcm_s24le @ 0x1538ac0] Invalid PCM packet, data has size 4 but at least a size of 6 was expected
Error while decoding stream #0:0: Invalid data found when processing input
我首先尝试像这样进行批量转换:
ffmpeg -i */*/*.wav -acodec pcm_s16le -ar 44100 */*/*.wav
不幸的是,这也带来了同样的问题。如何将它们存储在并行目录中?说新///*.wav?
这做到了这一点:
for f in $(find ./ -name '*.wav'); do
ffmpeg -i $f -acodec pcm_s16le -ar 44100 ${f%.wav}z.wav;
rm $f;
mv ${f%.wav}z.wav $f;
done
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)