我使用以下命令播放 15 秒 - 45 秒的音乐,但 sample.m4a 文件从 15 秒开始到 60 秒。我使用的语法错误吗?为什么会这样?
ffmpeg -ss 00:00:15 -t 00:00:45 -i song.m4a -acodec copy sample.m4a
答案1
该-t
标志设置持续时间。
因此,如果您想要 15 秒至 45 秒的范围,则必须设置-t 00:00:30
(即 45-15=30)并在文件名后使用 -t 参数作为输出参数。
完整命令如下:
ffmpeg -ss 00:00:15 -i song.m4a -t 00:00:30 -acodec copy sample.m4a
或者
ffmpeg -ss 15 -i song.m4a -t 30 -acodec copy sample.m4a
答案2
使用-to
而不是-t
。
-t
指定持续时间-to
指定结束时间
如果您想要从 00:00:15 开始抓取 30 秒,您可以:
1) 指定开始时间和持续时间。
-ss 00:00:15 -t 00:00:30
2)或者,指定开始时间和结束时间。
-ss 00:00:15 -to 00:00:45
两者都将抓取相同的 30 秒视频。