1

我想要做的是concat wav包含短音频的文件。我可以将concat它们放入一个文件中,但我试图在特定时间设置每个文件。

目前,我可以保存concat这些文件,但我无法在需要的特定时间放置每个文件。我想也许我可以在他们之间添加适量的沉默并以这种方式解决问题。我是新手ffmpeg

我有一个带有文件名的文本文件,即text.txt

file a.wav
file b.wav
file c.wav

我使用这个cmd:

ffmpeg -f concat -i text.txt out.mp3

这行得通,但是有没有办法在它们之间添加指定的分钟数?

我试图把它放在文本文件中,但它没有用:

file a.wav
inpoint 5
outpoint 10
file b.wav
inpoint 10
outpoint 20
file c.wav
inpoint 20
outpoint 25
4

1 回答 1

4

您可以使用aevalsrc过滤器来生成静音音频。然后使用concat过滤器将它们全部合并。

这是一个简单的例子:

E:\video\tmp>ffmpeg -i a.wav -i b.wav -filter_complex "aevalsrc=exprs=0:d=5[silence], [0:a] [silence] [1:a] concat=n=3:v=0:a=1[outa]" -map [outa] out.mp3

对于aevalsrc过滤器,aevalsrc=exprs=0:d=5[silence]. exprs指定输出值。d表示以秒为单位的持续时间。[silence]是你的输出标签。该过滤器还支持指定采样率、采样数等。

查看此页面以获取详细信息:

http://www.ffmpeg.org/ffmpeg-filters.html

于 2018-07-13T05:33:23.580 回答