audio - 使用ffmpeg在两个音频文件之间交叉淡入淡出?

标签 audio filter ffmpeg fading cross-fade

我有两个 mp3 文件,想将它们连接到一个新文件。但是,我只想要一个 部分 每个文件,我想在两者之间创建一个交叉淡入淡出。

例如,我想要 a.mp3 的前 3 分钟,然后在 5 秒内从 1:20 分钟标记(在 b.mp3 内)开始交叉淡入淡出到 b.mp3。

这是我想要的时间线图:

timeline

因此,生成文件的总长度将是 3:05 分钟加上 b.mp3 的长度减去 1:25 分钟,这归结为 b.mp3 的长度加上 1:40 分钟。

我对 ffmpeg 的源选择、映射和过滤语法太缺乏经验,无法得到我想要的结果。例如,我可以对一个 mp3 文件应用淡入或淡出,但我不知道如何使这两个重叠,从而导致两个音频源之间的交叉淡入淡出。

为清楚起见:我正在寻找 命令行 为此,即使用 ffmpeg 的独立版本,我没有在应用程序或任何东西中使用 ffmpeg 作为库。

最佳答案

利用

ffmpeg -i a.mp3 -i b.mp3
 -filter_complex
      "[0]atrim=0:185.0[a]; [1]atrim=80.0[b];
       [a][b]acrossfade=d=5.0"
 out.mp3

所有时间都以秒为单位。

关于audio - 使用ffmpeg在两个音频文件之间交叉淡入淡出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47437050/

相关文章:

c - 在cygwin中编译linux C程序时遇到问题

android - 使用Stagefright在Android中流式传输小型音频文件

browser - IE6 标准模式和 quirk 模式的 CSS 过滤器?

使用 SJA1000 (ESP32) 的 CAN Controller 验收过滤

ffmpeg - 如果我使用ffmpeg分别构建TS段,是否需要#EXT-X-DISCONTINUITY标签?

audio - 使用单个 ffmpeg 调用将视频文件拆分为单独的视频和音频文件?

flash - Javascript音频/视频元素以编程方式控制音量?

Angularjs过滤器不过滤精确匹配

video - FFMPEG - 60fps 到 30fps,在一行中烧录

c - ffmpeg 资源暂时不可用