我不知道有什么办法可以解决我的问题。我什至不知道原因,也很难找到它。
我正在使用 abcde 翻录我的音频 CD,这基本上运行良好。它被配置为创建 FLAC 和 MP3 输出文件,因为我希望对 CD 进行无损存档,以防它们损坏或丢失。 MP3 文件供日常使用。
现在问题来了:虽然 FLAC 文件在其元数据中写入了正确的播放时间,但我所有的 MP3 文件在其标签中写入了错误的持续时间。
这是 exiftool 读取的示例(虽然它基本上用于图像文件,但它适用于几乎所有元数据格式,是的,ID3 标签读取器显示相同的结果):
$ exiftool -Duration *
======== 01 - Rock or Bust.flac
Duration : 0:03:03
======== 01 - Rock or Bust.mp3
Duration : 0:25:02 (approx)
======== 02 - Play Ball.flac
Duration : 0:02:47
======== 02 - Play Ball.mp3
Duration : 0:02:15 (approx)
======== 03 - Rock the Blues Away.flac
Duration : 0:03:24
======== 03 - Rock the Blues Away.mp3
Duration : 0:02:45 (approx)
======== 04 - Miss Adventure.flac
Duration : 0:02:57
======== 04 - Miss Adventure.mp3
Duration : 0:23:18 (approx)
======== 05 - Dogs of War.flac
Duration : 0:03:35
======== 05 - Dogs of War.mp3
Duration : 0:29:40 (approx)
======== 06 - Got Some Rock & Roll Thunder.flac
Duration : 0:03:22
======== 06 - Got Some Rock & Roll Thunder.mp3
Duration : 0:02:42 (approx)
======== 07 - Hard Times.flac
Duration : 0:02:44
======== 07 - Hard Times.mp3
Duration : 0:02:14 (approx)
======== 08 - Baptism by Fire.flac
Duration : 0:03:30
======== 08 - Baptism by Fire.mp3
Duration : 0:27:25 (approx)
======== 09 - Rock the House.flac
Duration : 0:02:42
======== 09 - Rock the House.mp3
Duration : 0:02:44 (approx)
======== 10 - Sweet Candy.flac
Duration : 0:03:09
======== 10 - Sweet Candy.mp3
Duration : 0:25:18 (approx)
======== 11 - Emission Control.flac
Duration : 0:03:41
======== 11 - Emission Control.mp3
Duration : 0:30:57 (approx)
22 image files read
我只是不明白为什么会发生这种情况。有谁知道这个问题的解决方案吗?
解决方案
感谢 Phreds 关于丢失 VBR 标头的提示,我发现了发生这种情况的原因。
事实证明,lame 的--nogap
选项在 .abcde.conf 中被激活。在蹩脚的手册页和.abcde.conf
注释(至少是我的版本)中都没有提到启用此选项会禁用 Xing 标头。然而,在 abcde 联机帮助页中,提到了有关该-g
标志的这种行为。中对应的变量.abcde.conf
为NOGAP
答案1
我遇到了一个非常相似的问题(除了我没有使用 FLAC - 我相信原始的 rip 是 WAV 的)。我使用了一个名为 mp3diags 的程序(在 Ubuntu 14.04 上运行)来追踪它。
在我的例子中,问题是编码器编写的 mp3 文件没有“Xing header”(无论是什么)。 mp3diags 声称没有 Xing 标头的 VBR 会让一些玩家感到困惑。 mp3diags 中有一个选项可以“修复 VBR 数据”。我在受影响的 mp3 文件上使用了此选项,现在它们在 Clementine(音频播放器)中显示正确的时间。