ffmpeg使用跨淡滤镜加入多个音频 [英] ffmpeg join multiple audio with acrossfade filter

查看:259
本文介绍了ffmpeg使用跨淡滤镜加入多个音频的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有多个音频文件:

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

我需要使用文件之间的渐变过滤器来加入文件.

I need join the files with overfade filter between they.

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

I did it two in two a cumulative way:

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的首首歌曲音质不佳(质量越差,累积越多).

But final.ogg does not have good sound on the firsts songs (less quality while more cumulative).

如何避免final.ogg的质量降低?

其他方法是concat,但是:如何使用concat定义渐变滤镜?

Other way is concat but: How do you define the filter acrossfade using concat?

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

推荐答案

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

Do it in one command using a 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

这篇关于ffmpeg使用跨淡滤镜加入多个音频的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆