我有多个音频文件:
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
答案 0 :(得分:2)
使用filter_complex在一个命令中执行此操作。 e.g。
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