FFmpeg切断超时

时间:2018-03-08 06:40:07

标签: audio ffmpeg

以下ffmpeg命令工作正常,但它会减少超过-t持续时间:

ffmpeg -ss 00:00:05 -t 49 -i 1.wav -ss 00:00:05 -t 400 -i 2.wav -ss 00:00:05 -t 49 -i 3.wav -filter_complex "[0:0][1:0][2:0]concat=n=3:v=0:a=1[outa]" -map "[outa]" output.mp3

在此示例中,2.wav文件的长度为00:05:09,我们要求接下来的400秒。超出的时间(在此示例中为96秒)将从输出文件中删除,而我的客户并不希望这样。

额外的时间应该是96秒的沉默。 ffmpeg有这样的能力还是总能消除额外的时间?

1 个答案:

答案 0 :(得分:1)

使用

ffmpeg -ss 00:00:05 -t 49 -i 1.wav -ss 00:00:05 -t 400 -i 2.wav -ss 00:00:05 -t 49 -i 3.wav
 -filter_complex "[1]apad,atrim=0:400[1a];[0][1a][2]concat=n=3:v=0:a=1" output.mp3

中间文件末尾添加了无声填充。修剪过滤器使其持续400秒。结果然后送到concat。

应用于输入的

-t 400意味着从输入中读取大量数据。如果那个数量不存在,那么ffmpeg将尽可能多地读取。