我该如何修复不正确的 mp3 时长?

我该如何修复不正确的 mp3 时长?

我的音乐库中有许多歌曲显示的时长值不正确,因此在 Clementine 中只能播放部分歌曲。在 Banshee 和其他一些播放器中,它们会显示不同的时长值,有时会播放整首歌曲。

有没有办法可以解决这个问题而不需要“重新编码”歌曲?

答案1

MP3 诊断可以修复不正确的持续时间(和其他错误)。它是开源的,位于存储库中。它是一个 GUI 工具。

安装

sudo apt-get install mp3diags mp3diags-doc

另一个选择是MP3值,可以通过命令行或 GUI 使用:

安装

sudo apt-get install mp3val

使用示例

mp3val damaged.mp3 -f -t

-f:修复错误, -t:保留原始时间戳

答案2

如果你不想安装任何新东西,请尝试ffmpeg

ffmpeg -i file_orig.mp3 -acodec copy file_fixed.mp3

答案3

除了 VBR 标头与实际音频不匹配(您可以使用它mp3val来纠正,如另一个答案中所述),另一个可能导致这种情况的原因是 MP3 文件的 ID3 标签的值不正确。您可以使用包中的工具删除标签来TLEN修复此问题(显然是可选的):mid3v2mutagen

$ mid3v2 --delete-frames=TLEN filename.mp3

音乐播放器 Quodlibet 也有一个方便的“修复 MP3 时长”插件,您可以使用它来实现这一点。

(摘自 Quodlibet FAQ:http://quodlibet.readthedocs.org/en/latest/guide/faq.html

答案4

mp3check 对我来说,使用通配符也能完美运行。

sudo apt-get install mp3check

mp3check {filename or wildcard} --cut-junk-start --cut-junk-end --fix-headers

相关内容