【问题标题】:FFMPEG -ss and -t for cutting mp3FFMPEG -ss 和 -t 用于切割 mp3
【发布时间】: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 。

由于第二种方法有效,我并不是真的在寻找解决方案。我只是想知道为什么会这样。

【问题讨论】:

    标签: ffmpeg mp3


    【解决方案1】:

    -ss-t 放在输入之前,ffmpeg 采用快速搜索,它依赖于输入的索引来允许ffmpeg 开始和停止搜索。 MP3 没有索引,因此 ffmpeg 通过比特率估计持续时间。这可能不准确。

    -ss-t 放在输入之后,ffmpeg 对解复用的数据包进行计数。这将是准确的。

    【讨论】:

      猜你喜欢
      • 2017-03-15
      • 1970-01-01
      • 2015-10-24
      • 1970-01-01
      • 1970-01-01
      • 2017-10-10
      • 2022-08-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多