FFMPEG sidechaincompress不能正常工作?

时间:2017-10-23 04:32:59

标签: ffmpeg

我一直试图让侧链与FFMPEG一起工作,但我缺乏复杂的过滤技能。

我正在将两个aif文件运行到ffmpeg中,希望在画外音讲话时语音会“淹没”背景音乐。但是我在这个命令行中遇到错误(在Windows上,使用最新的FFMPEG二进制文件):

ffmpeg.exe -i temp_music.aif -i temp_voice.aif \
-filter_complex "[1:a]asplit=2[sc][mix];[0:a] \
[sc]sidechaincompress=threshold=0.1:ratio=5[bg]; \
[bg][mix]amerge[fin‌​al]" -map [final] final.mp3

一切都解码得很好:

    ffmpeg version N-87353-g183fd30 Copyright (c) 2000-2017 the FFmpeg developers
  built with gcc 7.2.0 (GCC)
  configuration: --enable-gpl --enable-version3 --enable-cuda --enable-cuvid --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-nvenc --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib
  libavutil      55. 76.100 / 55. 76.100
  libavcodec     57.106.101 / 57.106.101
  libavformat    57. 82.101 / 57. 82.101
  libavdevice    57.  8.101 / 57.  8.101
  libavfilter     6.105.100 /  6.105.100
  libswscale      4.  7.103 /  4.  7.103
  libswresample   2.  8.100 /  2.  8.100
  libpostproc    54.  6.100 / 54.  6.100
Guessed Channel Layout for Input Stream #0.0 : stereo
Input #0, aiff, from 'temp_music.aif':
  Duration: 00:01:26.68, start: 0.000000, bitrate: 1536 kb/s
    Stream #0:0: Audio: pcm_s16be, 48000 Hz, stereo, s16, 1536 kb/s
Guessed Channel Layout for Input Stream #1.0 : stereo
Input #1, aiff, from 'temp_voice.aif':
  Duration: 00:01:26.68, start: 0.000000, bitrate: 1536 kb/s
    Stream #1:0: Audio: pcm_s16be, 48000 Hz, stereo, s16, 1536 kb/s
Output with label 'final' does not exist in any defined filter graph, or was already used elsewhere.

但后来我收到一个错误:

标签'final'的输出在任何已定义的过滤器图形中都不存在,     或已在其他地方使用过。

有谁知道为什么?

1 个答案:

答案 0 :(得分:0)

这看起来是某种类型的字符编码问题。

当我以复制粘贴的方式执行命令时,我得到同样的错误。但如果我删除最终标签并重新输入,它就可以了。目前,由于您只有一个要导出的流,您可以将其保留为未标记状态,ffmpeg将自动映射它。

ffmpeg.exe -i temp_music.aif -i temp_voice.aif \
-filter_complex "[1:a]asplit=2[sc][mix];[0:a] \
[sc]sidechaincompress=threshold=0.1:ratio=5[bg]; \
[bg][mix]amerge" final.mp3