ffmpeg -ss 标志不起作用

ffmpeg -ss 标志不起作用

我正在尝试按如下方式拆分音频文件:

ffmpeg -i file.mp3 -vn -acodec copy -ss 00:00:00 -t 00:03:21 01-track1.mp3
ffmpeg -i file.mp3 -vn -acodec copy -ss 00:03:21 -t 00:08:26 02-track2.mp3
ffmpeg -i file.mp3 -vn -acodec copy -ss 00:08:26 -t 00:10:45 03-track3.mp3

这似乎有效,但我注意到开始时间不正确。所以现在我有这样的文件:

track1.mp3: 00:03:21
track2.mp3: 00:08:25
track3.mp3: 00:10:44

结束时间正确,但总是从音频文件的开头开始,而不是应该开始的地方

答案1

感谢@DK Bose 的评论,我让它工作了:

而不是使用ffmpeg -i file.mp3 -vn -acodec copy -ss 00:03:21 -t 00:08:26 02-track2.mp3

我需要说明文件的持续时间。因此从 00:03:21 到 00:08:26 是 00:05:05 分钟,命令应如下所示ffmpeg -i file.mp3 -vn -acodec copy -ss 00:03:21 -t 00:05:05 02-track2.mp3

然后我得到一个时长为05:05分钟的音频文件。

另一种可能性(使用最新的 ffmpeg 版本)是使用 -to 参数,如下所示:ffmpeg -i file.mp3 -vn -acodec copy -ss 00:03:21 -to 00:08:26 02-track2.mp3

相关内容