ffmpeg与跨效率过滤器一起加入多个音频



我有音频文件多重:

001.ogg, 002.ogg, ..., 100.ogg

我需要在它们之间使用过滤器加入文件。

我以两种累积方式做了两种:

ffmpeg -i 001.ogg -i 002.ogg -filter_complex acrossfade=d=3:o=1:c1=tri:c2=tri -b:a 128k -o r01.ogg
ffmpeg -i r01.ogg -i 003.ogg -filter_complex acrossfade=d=3:o=1:c1=tri:c2=tri -b:a 128k -o r02.ogg
ffmpeg -i r02.ogg -i 004.ogg -filter_complex acrossfade=d=3:o=1:c1=tri:c2=tri -b:a 128k -o r02.ogg
....
ffmpeg -i r98.ogg -i 100.ogg -filter_complex acrossfade=d=3:o=1:c1=tri:c2=tri -b:a 128k -o final.ogg

,但final.ogg在第一首歌上没有好声音(质量较低,而累积更少(。

如何避免final.ogg中的质量更少?

其他方式是concat,但是:如何使用concat定义过滤器?

ffmpeg -i "concat:1.ogg|2.ogg|...|100.ogg" copy final.ogg

使用filter_complex在一个命令中进行操作。例如

ffmpeg -i 1.ogg -i 2.ogg -i 3.ogg -i 4.ogg
 -filter_complex
      "[0][1]acrossfade=d=3:o=1:c1=tri:c2=tri[01];
       [01][2]acrossfade=d=3:o=1:c1=tri:c2=tri[02];
       [02][3]acrossfade=d=3:o=1:c1=tri:c2=tri"
 -b:a 128k final.ogg

最新更新