代码之家  ›  专栏  ›  技术社区  ›  user310291

仍然收到错误在过滤器Parsed_concat_0上找不到未标记输入板1的匹配流

  •  0
  • user310291  · 技术社区  · 3 年前

    虽然我的a=0,但在将没有声音的视频与有声音的视频混合时,我仍然会收到上面的消息错误:

    & "ffmpeg.exe" -i "C:\test\demo.mp4" -i "C:\Music\music.mp4" -filter_complex "concat=n=2:v=1:a=0" -f MP4 -y "C:\test\demo_music.mp4"
    

    完整日志

        ffmpeg version 4.3.1-2020-10-01-full_build-www.gyan.dev Copyright (c) 2000-2020 the FFmpeg developers
          built with gcc 10.2.0 (Rev3, Built by MSYS2 project)
          configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-lzma --enable-libsnappy --enable-zlib --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libdav1d --enable-libzvbi --enable-librav1e --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
          libavutil      56. 51.100 / 56. 51.100
          libavcodec     58. 91.100 / 58. 91.100
          libavformat    58. 45.100 / 58. 45.100
          libavdevice    58. 10.100 / 58. 10.100
          libavfilter     7. 85.100 /  7. 85.100
          libswscale      5.  7.100 /  5.  7.100
          libswresample   3.  7.100 /  3.  7.100
          libpostproc    55.  7.100 / 55.  7.100
        Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '\xxx.mp4':
          Metadata:
            major_brand     : isom
            minor_version   : 512
            compatible_brands: isomiso2avc1mp41
            encoder         : Lavf58.45.100
          Duration: 00:02:39.30, start: 0.000000, bitrate: 287 kb/s
            Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1478x926, 278 kb/s, 100 fps, 100 tbr, 12800 tbn, 200 tbc (default)
            Metadata:
              handler_name    : VideoHandler
        Input #1, mov,mp4,m4a,3gp,3g2,mj2, from 'yyy.mp3.mp4':
          Metadata:
            major_brand     : isom
            minor_version   : 512
            compatible_brands: isomiso2mp41
            encoder         : Lavf58.20.100
          Duration: 00:02:57.42, start: 0.042000, bitrate: 192 kb/s
            Stream #1:0(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 191 kb/s (default)
            Metadata:
              handler_name    : SoundHandler
        Cannot find a matching stream for unlabeled input pad 1 on filter Parsed_concat_0
    
    0 回复  |  直到 3 年前
        1
  •  1
  •   Gyan    3 年前

    要将视频流与音频流组合,您不需要concat过滤器。您可以简单地映射流并复制它们。

    "ffmpeg.exe" -i "demo.mp4" -i "music.mp4" -map 0:v -map 1:a -c copy "demo_music.mp4"

    在您的情况下,音频比视频长,因此视频在播放完毕后将有效地“冻结”。