FFmpeg - 画外音的回避音乐(侧链)

问题描述 投票:0回答:1

我正在尝试使用 FFmpeg 从画外音输入文件中回避背景音乐(我尝试使用 pydub 执行此操作,但没有成功)。

下面的命令主要工作,只是它将我的背景音乐文件(main.mp3,超过 3 分钟长)截断为配音文件的长度(taekwondo.mp3,大约一分钟长)。关于我可以在下面的命令中更改什么的任何想法或建议,以便输出文件充满 3 分钟长,并且在播放画外音时背景音乐会被隐藏。画外音完成后,背景音乐将继续正常播放。

在下面的复杂过滤器中,这就是我正在做的事情: adelay 过滤器:在背景音乐 5 秒后开始播放画外音 音量过滤器:由于我的背景音乐太大声而画外音太低,我将画外音音量增加1.5倍,并将背景音乐音量降低到0.7倍 侧链压缩过滤器:然后,每当旁白播放时,我都会应用侧链过滤器来回避背景音乐,并使用通常的阈值、比率和释放过滤器

我尝试过 amix 和 amerge,但结果相同。

ffmpeg -i main.mp3 -i taekwondo.mp3 -filter_complex "[1:a]adelay=5000|5000,volume=1.5[a];[0:a]volume=0.7[b];[a]asplit=2[sc][mix];[b][sc]sidechaincompress=threshold=0.05:ratio=20:level_sc=1:release=500:attack=1[compr];[compr][mix]amix" output.mp3
audio ffmpeg signal-processing audio-processing
1个回答
0
投票

正如 @Gyan 所建议的,使用 apad 进行填充是有效的。以下命令有效。

ffmpeg -i main.mp3 -i taekwondo.mp3 -filter_complex "[1:a]adelay=5000|5000,volume=1.5,apad[a];[0:a]volume=0.7[b];[a]asplit=2[sc][mix];[b][sc]sidechaincompress=threshold=0.05:ratio=20:level_sc=1:release=500:attack=1[compr];[compr][mix]amerge" output.mp3
© www.soinside.com 2019 - 2024. All rights reserved.