gpt4 book ai didi

FFMPEG -ss 和 -t 用于切割 mp3

转载 作者:行者123 更新时间:2023-12-03 17:44:04 24 4
gpt4 key购买 nike

我一直在尝试使用 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)]。

timeline of desired mp3 track

我尝试了使用 -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 。

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

最佳答案

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

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

关于FFMPEG -ss 和 -t 用于切割 mp3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45004159/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com