У меня есть код для объединения файлов с использованием ffmpeg.Здесь silence.wav - это немой аудиофайл продолжительностью 2 секунды. Мне нужно добавить этот аудио файл к REC00096_Jun-06-2014 16.47.28.wav. Я попробовал следующий код.

ffmpeg -i D:\vishnu\silence.wav -i D:\vishnu\REC00096_Jun-06-2014 16.47.28.wav \-filter_complex '[0:0][1:0][2:0][3:0]concat=n=2:v=0:a=1[out]' \-map '[out]' output.wav

Ниже приводится ошибка, которую я получаю.

     D:\vishnu>ffmpeg -i silence.wav -i "D:\vishnu\REC00096_Jun-06-2014 16.47.28.wav"
 -filter_complex '[0:0][1:0]concat=n=2:v=0:a=1[out]' -map '[out]' output.wav
ffmpeg version N-59036-g5d8e4f6 Copyright (c) 2000-2013 the FFmpeg developers
  built on Dec 12 2013 22:01:01 with gcc 4.8.2 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-av
isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab
le-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetyp
e --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --ena
ble-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-l
ibopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libsp
eex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aa
cenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavp
ack --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib
  libavutil      52. 58.100 / 52. 58.100
  libavcodec     55. 45.101 / 55. 45.101
  libavformat    55. 22.100 / 55. 22.100
  libavdevice    55.  5.102 / 55.  5.102
  libavfilter     3. 92.100 /  3. 92.100
  libswscale      2.  5.101 /  2.  5.101
  libswresample   0. 17.104 /  0. 17.104
  libpostproc    52.  3.100 / 52.  3.100
Input #0, wav, from 'silence.wav':
  Metadata:
    encoder         : Lavf55.22.100
  Duration: 00:00:02.02, bitrate: 4234 kb/s
    Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, 5.1, s16, 4
233 kb/s
Guessed Channel Layout for  Input Stream #1.0 : mono
Input #1, wav, from 'D:\vishnu\REC00096_Jun-06-2014 16.47.28.wav':
  Duration: 00:00:08.04, bitrate: 384 kb/s
    Stream #1:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 24000 Hz, mono, s16,
384 kb/s
[wav @ 02755e40] Invalid stream specifier: '[out]'.
    Last message repeated 1 times
Stream map ''[out]'' matches no streams.

D:\vishnu>

1 ответ1

1

У вас есть обратный слеш в \-filter_complex . Я понятия не имею, откуда это берется, но вы должны просто написать -filter_complex вместо этого. То же самое и для -map .

Возможно, вы пытались скопировать и вставить многострочный скрипт Bash, где новые строки экранируются обратной косой чертой, например, если кто-то дал вам этот скрипт Bash:

ffmpeg -i silence.wav -i "REC00096_Jun-06-2014 16.47.28.wav" \
-filter_complex "[0:0][1:0]concat=n=2:v=0:a=1[out]" \
-map "[out]" output.wav

Затем вы должны перевести это на:

ffmpeg -i silence.wav -i "REC00096_Jun-06-2014 16.47.28.wav" -filter_complex "[0:0][1:0]concat=n=2:v=0:a=1[out]" -map "[out]" output.wav

Также обратите внимание, что вам нужны только [0:0] и [1:0] . Нет третьего и четвертого входного файла.

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