我想批量合并mp3音频文件,其中每个文件都有特定的开始时间。因此,下面是我现在使用的fluff-ffmpeg生成器,用于合并3个文件,每个文件分别从200、7400和10600开始。
ffmpeg -i firstFile.mp3 -i secondFile.mp3 -i thirdFile.mp3 -filter_complex
[0]adelay=200[a0];[1]adelay=7400[a1];[2]adelay=10600[a2];[a0][a1]
[a2]amix=inputs=3:dropout_transition=1000,volume=3 -f mp3 pipe:1
这很不错,除了更长的文件重新编码使整个过程花了很长时间。所以我想用concat demuxer做同样的事情。由于我已经知道每个音频文件有多长时间,因此我在它们之间放入了无声音频文件,以创建一个直到下一个音频文件的延迟,以便它实际上在应该的时间位置开始。
#concatfile.txt
file silence.mp3
outpoint 200
file firstFile.mp3
file silence.mp3
outpoint 1500
file secondFile.mp3
file silence.mp3
outpoint 2000
file thirdFile.mp3
ffmpeg -f concat -safe 0 -i concatfile.txt -c copy output.mp3
当合并几个文件时,此解决方案也可以,但是当我合并更多文件(例如30或40个结果文件)时,同步问题将逐渐增加,其中音频文件实际上比它们应该具有的开始时间戳晚。 / p>
的问题我愿意就解决该问题提出任何建议。