2 秒静音音频与正常音频的串联不起作用

2 秒静音音频与正常音频的串联不起作用

我有一个使用 ffmpeg 连接文件的代码。这里 silent.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

你在 处有一个反斜杠\-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]。没有第三和第四个输入文件。

相关内容