gpt4 book ai didi

Bash脚本将目录中的所有flv文件转换为mp3

转载 作者:行者123 更新时间:2023-11-29 09:49:08 24 4
gpt4 key购买 nike

到目前为止,这是我的代码。

#!/bin/bash
#James Kenaley
#Flv to Mp3 directory converter

find /home/downloads -iname "*.flv" | \
while read I;
do
`ffmpeg -i ${I} -acodec copy ${I/%.flv/.mp3}`
echo "$I has been converted"
done

但它会在 flv 文件的名称中选择空格并抛出一个错误,指出它不在目录中。如何让它使用整个文件名而不仅仅是空格前的第一个单词?

最佳答案

ffmpeg 在 fork 线程中运行,因此简单的批处理可能会产生奇怪的行为。如果您在建议的批处理循环中运行 ffmpeg,您应该控制您的命令和命令错误输出,以免它干扰。

如果您运行此程序并正确转换所有其他项目,但其余部分出错,请尝试在循环中使用此 ffmpeg 调用:

ffmpeg -y -i "${I}" -acodec mp3 -ar 22050 -f wav "${I/%.3gp/.mp3}" > /dev/null & 2> /dev/null

注意最后的 > dev/null & 2>/dev/null。这会将命令输出和命令错误输出通过管道传递给遗忘。然后脚本运行。

还应注意,程序输出看起来会奇怪地杂乱无章,同时压缩多个文件。结果将是正确的。

[编辑:注意我拥有的 -y,这会使 FFMPEG 覆盖现有的 MP3 文件]

关于Bash脚本将目录中的所有flv文件转换为mp3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10083498/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com