Answers:
MP3 Diags可以修复不正确的持续时间(和其他错误)。它是开源的,并且在存储库中。它是一个GUI工具。
安装
sudo apt-get install mp3diags mp3diags-doc
另一个选项是MP3val,可以通过命令行或GUI使用:
安装
sudo apt-get install mp3val
使用范例
mp3val damaged.mp3 -f -t
-f
:修复错误,
-t
:保留原始时间戳
cat
对于合并mp3之类的任务而言并不理想。更好的方法:http
cat
。即使没有mp3val,文件仍然可以在我发送给它们的每个播放器中播放。cat
与使用ffmpeg重新编码相比,它非常高效且速度更快。即使添加了mp3val命令。
ffmpeg
与concat
和-acodec copy
做不重新编码-它只是复制流(因此它的快),但会在第一个地方一个适当的文件(没有无用的报头和标签数据在生成的文件中出现多次)。
除了与实际音频不匹配的VBR头(您将使用它mp3val
来纠正,如另一个答案中所述)外,另一个可能的原因是MP3文件的ID3标签的标签值不正确TLEN
。您可以使用包装中的mid3v2
工具来解决此问题,mutagen
以删除标签(显然是可选标签):
$ mid3v2 --delete-frames=TLEN filename.mp3
音乐播放器Quodlibet也有一个方便的“修复MP3持续时间”插件,您可以用来执行此操作。
(摘自Quodlibet常见问题解答:http ://quodlibet.readthedocs.org/en/latest/guide/faq.html )
mp3check对通配符也非常适合我。
sudo apt-get install mp3check
mp3check {filename or wildcard} --cut-junk-start --cut-junk-end --fix-headers
cat
将有声读物的部分组合成一个文件(cat 1.mp3 2.mp3 > out.mp3
),非常适合播放,但是几乎每个播放器都会对时间戳感到古怪,甚至mediainfo
显示从第一个文件开始的持续时间,而不是合并后的时间。