我一直在尝试使用FFMPEG来剪辑声音轨中的特定部分。我想要从00:07剪辑到04:33,所以我输入了以下FFMPEG命令:
bin\ffmpeg -ss 00:07 -t 04:26 -i "input.mp3" -acodec copy "output.mp3"
我在-t参数中使用了04:26,表示[end_time - start_time]。但是,我得到的output.mp3文件从00:07截断到了04:40,并且轨道长达04:33。为了获得正确的输出文件,我必须使用一个-t 04:19,即[end_time - 2*(start_time)]。
我尝试了一种替代命令,使用 -to 而不是 -t
bin\ffmpeg -i "input.mp3" -ss 00:07 -to 04:33 -acodec copy -y "output.mp3"
这个方法按照预期工作,得到了所需的输出轨迹从00:07到04:33。
问题是,为什么第一种方法需要将-t设置为[end_time-2*(start_time)]?直觉上,我想寻找00:07并捕获随后的04:26,因此使用-ss 00:07和-t 04:26对我来说很合理。我无法理解ffmpeg如何解释这一点,以至于我必须使用04:19作为-t。
由于第二种方法可以工作,我并不真正寻找解决方案。我只是想知道为什么会发生这种情况。