我有音频文件多重:
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