【问题标题】:ffmpeg join multiple audio with acrossfade filterffmpeg 使用淡入淡出过滤器加入多个音频
【发布时间】:2017-09-27 20:46:50
【问题描述】:

我有多个音频文件:

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

【问题讨论】:

    标签: audio ffmpeg


    【解决方案1】:

    使用 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
    

    【讨论】:

    • 代码就像一个冠军。我更改了一些命名以使其更具可读性。
    猜你喜欢
    • 2015-08-04
    • 1970-01-01
    • 2014-06-06
    • 1970-01-01
    • 1970-01-01
    • 2016-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多