mp3转换为flac会导致文件持续时间更长

时间:2019-06-18 14:56:09

标签: ffmpeg

我注意到,当我将mp3文件转换为flac时,flac文件中报告的持续时间通常会与源mp3文件的持续时间有所不同。通常,这种差异可以忽略不计,并且可以忽略不计(也许不到一秒钟)。

但是,有时定时会延迟几秒钟,这会导致我的处理流水线出现很多问题。

例如,以这个podcast episode for example为例。如果通过ffmpeg运行它,我可以看到它的持续时间为:

Duration: 00:52:38.39, start: 0.000000, bitrate: 128 kb/s

如果我随后使用以下命令将其转换为flac:

ffmpeg -i startups-for-the-rest-of-us-448.mp3 -ac 1 -ar 16000 -f flac output.flac

我可以看到flac文件的持续时间为:

Duration: 00:52:45.65, start: 0.000000, bitrate: 133 kb/s

请注意,转换过程中会显示一条错误消息,指出:

[mp3 @ 0x7fffd16d6780] Header missing
Error while decoding stream #0:0: Invalid data found when processing input

持续时间的差异是否与比特率差异有关?当我听文件时,听起来好像是一样的,我认为flac版本必须稍微慢一点,以便在播客过程中获得额外的7秒。

1 个答案:

答案 0 :(得分:1)

您应该在ffmpeg日志顶部附近看到它

Estimating duration from bitrate, this may be inaccurate

MP3可能没有索引,因此ffm​​peg必须估算持续时间,它确实使用比特率。根据比特率差异,此估算值可能会关闭。

运行ffmpeg -i in.mp3 -vn -f null -并检查日志结尾是否有准确的估算值

size=N/A time=00:52:45.67 bitrate=N/A speed= 761x