【发布时间】:2017-07-10 05:11:24
【问题描述】:
我一直在尝试使用 FFMPEG 来剪切音轨的特定部分。我想从00:07切到04:33,所以输入ffmpeg命令如下:
bin\ffmpeg -ss 00:07 -t 04:26 -i "input.mp3" -acodec copy "output.mp3"
我使用 04:26 作为 -t,即 [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 。
由于第二种方法有效,我并不是真的在寻找解决方案。我只是想知道为什么会这样。
【问题讨论】: