我正在寻找一个适用于 Ubuntu 13.04 的工具,可以降低多个 mp3 文件的比特率。有人碰巧知道这样的工具吗?
答案1
降低比特率将涉及重新编码,这意味着您必须创建单独的输出文件。您可以avconv
从命令行使用:
avconv -i input.mp3 -c:a libmp3lame -b:a 128k output.mp3
要处理整个 .mp3 目录:
for f in ./*.mp3; do avconv -i "$f" -c:a libmp3lame -b:a 128k "${f%.*}-out.mp3"; done
这将创建以-out.mp3
结尾的文件。如果您想替换原始文件,则可以使用mv
覆盖它们(警告:这应被视为不可逆):
for f in ./*.mp3; do avconv -i "$f" -c:a libmp3lame -b:a 128k "${f%.*}-out.mp3" && mv "${f%.*}-out.mp3" "$f"; done
分两步进行可能会更安全:
for f in ./*.mp3; do avconv -i "$f" -c:a libmp3lame -b:a 128k "${f%.*}-out.mp3"; done
for f in ./*-out.mp3; do mv "$f" "${f%-out.mp3}.mp3"; done
您可以递归地对文件执行此操作(工作目录和所有子目录中的每个 .mp3):
shopt -s globstar
for f in ./**/*.mp3; do avconv -i "$f" -c:a libmp3lame -b:a 128k "${f%.*}-out.mp3"; done
for f in ./**/*-out.mp3; do mv "$f" "${f%-out.mp3}.mp3"; done
答案2
ffmpeg
是我会使用的工具,我会将它与我结合使用find
来查找我想要转换的文件。
mkdir converted
find . -iname '*.mp3' -exec ffmpeg -i "{}" -b 100k "{}" "converted/{}" \;