FFMPEG:正确地将sidechain_压缩带有立体声侧链的立体声背景转换为立体声输出

时间:2019-01-20 11:43:49

标签: audio filter ffmpeg

我正在做画外音,并且由于Sony Vegas不支持侧链,所以我将画外音渲染为voices.wav,然后按照sidechain_compress filter使用ffmpeg documentation

ffmpeg -y -i background.m4a -i voices.wav -filter_complex \
    "[1:a]asplit=2[sc][mix];\
    [0:a][sc]sidechaincompress=threshold=0.015:ratio=2:level_sc=0.8:release=500:attack=1[compr];\
    [compr][mix]amerge" sidechain_1.wav

voices.wav是立体声音频文件,也是background.m4a。但是,将结果文件加载到Sony Vegas后的样子如下:

enter image description here

这表明,在通道1/2中,我得到了压缩的背景,而在通道3和4中,我得到了两个以某种方式不同的单声道音轨(可能是原始声音输入和某些改变的声音输入,都在单声道中)。 UPD:我不想在Sony Vegas进一步处理生成的曲目,我更希望ffmpeg作为制作过程的最后一步。上面的屏幕截图仅供参考。

  1. 背景是否仅通过左右声道来压缩侧链?如果是这样,如何进行更改以使其在两个通道中都被压缩(某些声音左右左右摇摆,因此压缩结果可能会有实际差异)
  2. 这些频道3和4是什么?为什么是单声道?
  3. 如何在输出的wav文件中获得单个1/2立体声轨道,而不是在3个轨道中获得4个怪异的声道? (我查看了pan complex filter,但没有弄清楚如何设置它)。

1 个答案:

答案 0 :(得分:1)

amerge添加输入通道。 amix使用通道数最多的输入的通道数。因此,切换到混合。

ffmpeg -y -i background.m4a -i voices.wav -filter_complex \
    "[1:a]asplit=2[sc][mix];\
    [0:a][sc]sidechaincompress=threshold=0.015:ratio=2:level_sc=0.8:release=500:attack=1[compr];\
    [compr][mix]amix" sidechain_1.wav