Мне нужно объединить два аудио файла в один. Это легко сделать с помощью -filter_complex amix = input = 2. Однако, хотя два аудиофайла выровнены должным образом, иногда их объединение вызывает отсечение.

Я попытался добавить -filter_complex alimiter, который работает сам по себе, но оба вместе дают мне ошибку "Не удается найти соответствующий поток для немаркированной входной панели 0 в фильтре Parsed_alimiter_0"

Если бы кто-нибудь мог подсказать, как лучше это сделать, я был бы признателен. Я хотел бы, чтобы предел был около -1 дБ.

Редактировать: по запросу, вывод ниже:

N:\>ffmpeg -i outr20.wav -i outr20t03.wav -filter_complex amix=inputs=2 -filter_complex alimiter output.wav
ffmpeg version N-78964-g5061579 Copyright (c) 2000-2016 the FFmpeg developers
  built with gcc 5.3.0 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libdcadec --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmfx --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --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-libzimg --enable-lzma --enable-decklink --enable-zlib
  libavutil      55. 19.100 / 55. 19.100
  libavcodec     57. 28.100 / 57. 28.100
  libavformat    57. 28.100 / 57. 28.100
  libavdevice    57.  0.101 / 57.  0.101
  libavfilter     6. 39.102 /  6. 39.102
  libswscale      4.  0.100 /  4.  0.100
  libswresample   2.  0.101 /  2.  0.101
  libpostproc    54.  0.100 / 54.  0.100
Guessed Channel Layout for  Input Stream #0.0 : mono
Input #0, wav, from 'outr20.wav':
  Metadata:
    encoder         : Lavf57.28.100
  Duration: 00:07:13.18, bitrate: 128 kb/s
    Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 8000 Hz, 1 channels, s16, 128 kb/s
Guessed Channel Layout for  Input Stream #1.0 : mono
Input #1, wav, from 'outr20t03.wav':
  Metadata:
    encoder         : Lavf57.28.100
  Duration: 00:07:13.18, bitrate: 128 kb/s
    Stream #1:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 8000 Hz, 1 channels, s16, 128 kb/s
Cannot find a matching stream for unlabeled input pad 0 on filter Parsed_alimiter_0

1 ответ1

1

Оба фильтра должны быть указаны в одной цепочке, т.е.

ffmpeg -i outr20.wav -i outr20t03.wav \
-filter_complex \
"[0][1]amix=inputs=2[m];[m]alimiter[a]" \
-map [a] output.wav

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .