时间范围的 FFMPEG 剪切

Fre*_*ood 14 ffmpeg command-line-arguments

我正在使用以下命令获得 15 秒 - 45 秒范围的音乐,但 sample.m4a 文件从 15 秒到 60 秒开始。我使用了错误的语法还是为什么会这样?

ffmpeg -ss 00:00:15 -t 00:00:45 -i song.m4a -acodec copy sample.m4a
Run Code Online (Sandbox Code Playgroud)

Jet*_*Jet 23

-t标志设置持续时间。
因此,如果您想要 15sec-45sec 范围,您必须设置-t 00:00:30(即 45-15=30)并在文件名后使用 -t 参数使其成为输出参数。

完整命令如下所示:

ffmpeg -ss 00:00:15 -i song.m4a -t 00:00:30 -acodec copy sample.m4a
Run Code Online (Sandbox Code Playgroud)

或者

ffmpeg -ss 15 -i song.m4a -t 30 -acodec copy sample.m4a
Run Code Online (Sandbox Code Playgroud)


小智 8

使用-to代替-t

  1. -t 指定持续时间
  2. -to 指定结束时间

如果您想从 00:00:15 开始抓取 30 秒,您可以:

1) 指定开始时间和持续时间。

-ss 00:00:15 -t 00:00:30
Run Code Online (Sandbox Code Playgroud)

2) 或者,指定开始时间和结束时间。

-ss 00:00:15 -to 00:00:45
Run Code Online (Sandbox Code Playgroud)

两者都将抓取相同的 30 秒视频。

  • 请把`-to`、`-t:`和`-t`之间的关系弄得更清楚。 (3认同)