如何“重新编码”mp3 文件

如何“重新编码”mp3 文件

我有相当多的 mp3 文件,是我在 Mac 上使用 audiohijack pro 创建的。现在我不再拥有 Mac,而是在我的 Linux 系统上使用它们。不幸的是,我使用的程序(rhythmbox)来听这些文件无法计算出文件有多长。这些文件长达 5 小时,当程序无法计算出它有多长时,我无法滚动浏览文件。有什么unix/linux程序可以重新编码这些文件吗?我对 Linux 上的音频或 mp3 文件格式了解不够,不知道这会涉及什么。

最好的,巴特

答案1

虽然我具体不知道是否需要其他选项来解决您提到的问题,ffmpeg

用于录制、转换和流式传输音频和视频的完整的跨平台解决方案。

它是音频和视频领域的瑞士军刀。重新编码您的文件应该像

$ ffmpeg -i oldfile.mp3 newfile.mp3

ffmpeg位于大多数主要发行版的存储库中,或者可以从他们的网站下载。

答案2

它没有回答您标题中的问题,但也许有机会修复文件而无需重新编码。例如,MP3 文件长度不正确的一个常见问题是具有可变比特率的文件未正确标记为具有可变比特率(而像 Rhythmbox 这样的程序将它们视为具有恒定比特率)。工具修复可以修复这些文件。检查 MP3 文件的另一个有用工具是mp3检查,它还有类似的选项--fix-headers可以修复文件(首先备份文件!)。

答案3

可以使用lameid3 标签来实现这一点(发现它这里)。

find . -type f -iname "*.mp3" | while read file 
do
    mv "$file" "${file}.old" && \
    lame --mp3input -q 0 -b 192 --resample 44.1 "${file}.old" "$file" && \
    id3cp "${file}.old" "$file"
done

查看我在这里编写的更多转换脚本:https://github.com/sid-the-sloth/conversion-scripts

答案4

尝试我应该警告您,重新编码可能(可能)导致质量损失。

相关内容