降低多个 mp3 比特率

Jor*_*ren 6 mp3 13.04

我正在寻找一种适用于 Ubuntu 13.04 的工具,可以降低多个 mp3 文件的比特率。有没有人碰巧知道这样的工具?

evi*_*oup 8

降低比特率将涉及重新编码,这意味着您必须创建单独的输出文件。您可以avconv从命令行使用:

avconv -i input.mp3 -c:a libmp3lame -b:a 128k output.mp3
Run Code Online (Sandbox Code Playgroud)

要执行 .mp3 的整个目录:

for f in ./*.mp3; do avconv -i "$f" -c:a libmp3lame -b:a 128k "${f%.*}-out.mp3"; done
Run Code Online (Sandbox Code Playgroud)

这将创建-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
Run Code Online (Sandbox Code Playgroud)

分两步执行此操作可能更安全:

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
Run Code Online (Sandbox Code Playgroud)

您可以递归地对文件执行此操作(工作目录和所有子目录中的每个 .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
Run Code Online (Sandbox Code Playgroud)