FFmpeg 会在音频覆盖前后创建一个小的可听 dropout_transition,我该如何删除它?

标签 ffmpeg

file1.wav 的长度为 25 分钟。 file2.wav 的长度为 20 秒。 File2.wav 延迟到 file1.wav 的末尾,两者“混合”在一起。延迟工作完美,并覆盖到 25 分钟 file1.wav 文件末尾的正确位置。我的问题是将两个剪辑混合在一起——我相信 dropout_transition(即使它设置为 0)在 file2.wav 覆盖到 file1.wav 之前和之后仍然会产生可听的不受欢迎的“dip”。有没有办法确保根本不会发生“下跌”?这两个剪辑在使用混音软件时都能很好地平衡,所以我根本不希望它们发生变化,但我也不希望失真。这可能吗?是否可以使用 amerge 而不是 amix 作为替代方案?我试过了,但我不知道正确的语法。来自天才的帮助表示赞赏!

我已经尝试了各种不同的 dropout_transition 设置和音量设置......这与我达到预期结果一样接近。就像我说的那样,我无法弄清楚使用 amerge 而不是 amix 的正确语法。

ffmpeg -i file1.wav -i file2.wav -filter_complex "[1]adelay=70751488S|#70751488S,volume=1[b];[0][b]amix=inputs=2:duration=first:dropout_transition=0,volume=2" /output.wav

最佳答案

有用!这是解决方案。 1)如前所述,确保您的辍学过渡=最长文件的长度(以秒为单位)。谢谢你 2)我使用的两个文件是 48/16 位波形文件。确保导出 32 位浮点波形文件以混合在一起。来自手册:混合仅支持“浮点样本;如果 amix 输入具有整数样本,则 样本 将自动插入以执行到浮点样本的转换。”显然,这是可行的,但是当您不使用 32 位波形文件时,样本会以某种方式弄乱过渡。不知道为什么要避免这种转换而只使用 32 位波形文件。 3) 注意:将两个 .wav 文件组合在一起时,总降低的输出为 -6dB。这是为了防止失真,是正常的。所以问题是为什么 aresample 把事情搞砸了?

关于FFmpeg 会在音频覆盖前后创建一个小的可听 dropout_transition,我该如何删除它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57238208/

相关文章:

amazon-ec2 - 如何在 ec2 中使用 S3FS、FFMPEG 获取视频文件的宽度/高度

ffmpeg - 透视校正示例

qt - 从应用程序的命令行中杀死无限的ffmpeg

python - 如何使用 youtubedl 的搜索功能而不是 url 让我的不和谐机器人播放音乐? (Python)

command-line - 如何使用一些控制台实用程序将目录中的 .ogg 文件转换为 .wav 文件

video - 使用 filter_complex 时如何使用 ffmpeg 修剪视频?

video - 如何重新编码视频以完全匹配另一个编解码器?

ffmpeg - 使用ffmpeg垂直或水平堆叠(马赛克)几个视频?

audio - 如何使用ffmpeg在特定时间将音频添加到视频文件

python - 服务器 (PC) 上的实时视频流来自机器人通过 UDP 发送的图像