[FFmpeg-trac] #11614(ffmpeg:new): concat demux: video from 2nd file missing in concatenated file

FFmpeg trac at avcodec.org
Wed May 28 04:49:41 EEST 2025


#11614: concat demux: video from 2nd file missing in concatenated file
----------------------------------------+----------------------------------
             Reporter:  bzipitidoo      |                     Type:  defect
               Status:  new             |                 Priority:  normal
            Component:  ffmpeg          |                  Version:  7.1
             Keywords:  concat demuxer  |               Blocked By:
             Blocking:                  |  Reproduced by developer:  0
Analyzed by developer:  0               |
----------------------------------------+----------------------------------
 Tried to concatenate 3 files by concatenating the 1st 2, which was
 successful, then with a separate invocation, concatenate the 3rd file to
 the file resulting from concatenating the 1st 2.  ffmpeg did not report
 any errors, yet this produced a bad file.  The combination of all 3 files
 looked to be the correct size.  VLC will play it.  But in the combined
 file, the video from the 3rd file did not appear, only the audio.

 The video files are the same video and audio codecs (mpeg4 and libopus),
 bit rates (400k video, 24k audio), and dimensions (700x700).  I used -c
 copy.

 $ ls -s wp*
 5468 wp123.mkv  4892 wp12.mkv   576 wp3.mkv

 $ cat file_list.txt
 file 'wp12.mkv'
 file 'wp3.mkv'

 $ ffmpeg -f concat -i file_list.txt -c copy wp123.mkv
 ffmpeg version 7.1.1 Copyright (c) 2000-2025 the FFmpeg developers
   built with gcc 14 (Gentoo 14.2.1_p20241221 p7)
   configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64
 --mandir=/usr/share/man --docdir=/usr/share/doc/ffmpeg-7.1.1-r1/html
 --ar=x86_64-pc-linux-gnu-ar --cc=x86_64-pc-linux-gnu-gcc --cxx=x86_64-pc-
 linux-gnu-g++ --nm=x86_64-pc-linux-gnu-nm --pkg-config=x86_64-pc-linux-
 gnu-pkg-config --ranlib=x86_64-pc-linux-gnu-ranlib --disable-stripping
 --disable-debug --disable-optimizations --optflags=' ' --enable-iconv
 --enable-pic --enable-shared --disable-static --enable-manpages --disable-
 podpages --disable-txtpages --disable-decklink --disable-libaribcaption
 --disable-libdavs2 --disable-libklvanc --disable-liblcevc-dec --disable-
 libmysofa --disable-libopenvino --disable-libshine --disable-libtls
 --disable-libuavs3d --disable-libvvenc --disable-libxavs --disable-
 libxavs2 --disable-libxevd --disable-libxeve --disable-pocketsphinx
 --disable-rkmpp --disable-vapoursynth --disable-cuda-nvcc --disable-
 libcelt --disable-libglslang --disable-liblensfun --disable-libmfx
 --disable-libopencv --disable-librist --disable-libtensorflow --disable-
 libtorch --disable-mbedtls --disable-mmal --disable-omx --disable-omx-rpi
 --disable-gcrypt --disable-lzma --enable-libpulse --enable-gpl --disable-
 ffnvcodec --enable-bzlib --disable-libvpl --disable-opencl --disable-
 libsrt --enable-libaom --disable-libvpx --disable-libzvbi --disable-
 libsmbclient --disable-libgsm --disable-libxvid --enable-libvidstab
 --disable-librav1e --disable-vdpau --disable-libjxl --disable-librabbitmq
 --disable-libopenh264 --disable-libquirc --disable-libjack --disable-
 libflite --disable-libsnappy --disable-libtwolame --disable-libsvtav1
 --disable-libmp3lame --disable-cuvid --disable-libopenmpt --disable-
 libplacebo --disable-libfribidi --disable-libfdk-aac --disable-libbs2b
 --disable-appkit --disable-libspeex --disable-liblc3 --enable-postproc
 --enable-libxml2 --disable-libshaderc --disable-libzimg --disable-alsa
 --enable-libfontconfig --enable-libdav1d --disable-libvmaf --disable-sdl2
 --disable-nvdec --disable-cuda-llvm --disable-libaribb24 --disable-libnpp
 --enable-libdrm --disable-libxcb-shm --disable-libkvazaar --enable-gnutls
 --disable-nvenc --disable-amf --disable-libxcb --disable-libcodec2
 --disable-lcms2 --disable-libopencore-amrnb --disable-libtesseract
 --disable-libvo-amrwbenc --enable-libopus --disable-gmp --enable-vulkan
 --disable-libdvdread --disable-libopenjpeg --disable-vaapi --disable-
 libx264 --disable-libx265 --disable-librtmp --enable-libwebp --enable-zlib
 --disable-libxcb-shape --disable-libsoxr --disable-librubberband
 --disable-libzmq --disable-htmlpages --disable-libv4l2 --disable-libssh
 --disable-libtheora --disable-libmodplug --disable-opengl --disable-
 libdvdnav --enable-libfreetype --disable-openal --disable-librsvg
 --enable-libass --disable-libgme --disable-chromaprint --disable-ladspa
 --disable-libiec61883 --disable-libilbc --disable-libcdio --disable-frei0r
 --disable-sndio --disable-libcaca --disable-libxcb-xfixes --disable-
 libbluray --disable-libopencore-amrwb --disable-libdc1394 --disable-
 libqrencode --disable-xlib --disable-openssl --disable-lv2 --disable-
 libvorbis --enable-libharfbuzz
   libavutil      59. 39.100 / 59. 39.100
   libavcodec     61. 19.101 / 61. 19.101
   libavformat    61.  7.100 / 61.  7.100
   libavdevice    61.  3.100 / 61.  3.100
   libavfilter    10.  4.100 / 10.  4.100
   libswscale      8.  3.100 /  8.  3.100
   libswresample   5.  3.100 /  5.  3.100
   libpostproc    58.  3.100 / 58.  3.100
 Input #0, concat, from 'file_list.txt':
   Duration: N/A, start: 0.000000, bitrate: N/A
   Stream #0:0: Video: mpeg4 (Simple Profile), yuv420p(tv, progressive),
 700x700 [SAR 1:1 DAR 1:1], 30 fps, 30 tbr, 1k tbn
       Metadata:
         HANDLER_NAME    : VideoHandler
         VENDOR_ID       : [0][0][0][0]
         ENCODER         : Lavc61.19.101 mpeg4
         DURATION        : 00:00:35.000000000
   Stream #0:1: Audio: opus, 48000 Hz, mono, fltp
       Metadata:
         HANDLER_NAME    : SoundHandler
         VENDOR_ID       : [0][0][0][0]
         DURATION        : 00:00:35.096000000
 File 'wp123.mkv' already exists. Overwrite? [y/N] y
 Stream mapping:
   Stream #0:0 -> #0:0 (copy)
   Stream #0:1 -> #0:1 (copy)
 Output #0, matroska, to 'wp123.mkv':
   Metadata:
     encoder         : Lavf61.7.100
   Stream #0:0: Video: mpeg4 (Simple Profile) (FMP4 / 0x34504D46),
 yuv420p(tv, progressive), 700x700 [SAR 1:1 DAR 1:1], q=2-31, 30 fps, 30
 tbr, 1k tbn
       Metadata:
         HANDLER_NAME    : VideoHandler
         VENDOR_ID       : [0][0][0][0]
         ENCODER         : Lavc61.19.101 mpeg4
         DURATION        : 00:00:35.000000000
   Stream #0:1: Audio: opus ([255][255][255][255] / 0xFFFFFFFF), 48000 Hz,
 mono, fltp
       Metadata:
         HANDLER_NAME    : SoundHandler
         VENDOR_ID       : [0][0][0][0]
         DURATION        : 00:00:35.096000000
 Press [q] to stop, [?] for help
 [out#0/matroska @ 0x55c99ab92980] video:5307KiB audio:132KiB subtitle:0KiB
 other streams:0KiB global headers:0KiB muxing overhead: 0.467071%
 frame= 1131 fps=0.0 q=-1.0 Lsize=    5464KiB time=00:00:43.31
 bitrate=1033.4kbits/s speed=1.94e+03x

 $ ffprobe wp12.mkv
 ...
 Input #0, matroska,webm, from 'wp12.mkv':
   Metadata:
     COMPATIBLE_BRANDS: isomiso2mp41
     MAJOR_BRAND     : isom
     MINOR_VERSION   : 512
     ENCODER         : Lavf61.7.100
   Duration: 00:00:35.10, start: -0.007000, bitrate: 1141 kb/s
   Stream #0:0: Video: mpeg4 (Simple Profile), yuv420p(tv, progressive),
 700x700 [SAR 1:1 DAR 1:1], 30 fps, 30 tbr, 1k tbn (default)
       Metadata:
         HANDLER_NAME    : VideoHandler
         VENDOR_ID       : [0][0][0][0]
         ENCODER         : Lavc61.19.101 mpeg4
         DURATION        : 00:00:35.000000000
   Stream #0:1: Audio: opus, 48000 Hz, mono, fltp (default)
       Metadata:
         HANDLER_NAME    : SoundHandler
         VENDOR_ID       : [0][0][0][0]
         DURATION        : 00:00:35.096000000

 $ ffprobe wp3.mkv
 ...
 Input #0, matroska,webm, from 'wp3.mkv':
   Metadata:
     COMPATIBLE_BRANDS: isomiso2mp41
     MAJOR_BRAND     : isom
     MINOR_VERSION   : 512
     ENCODER         : Lavf61.7.100
   Duration: 00:00:08.30, start: -0.007000, bitrate: 568 kb/s
   Stream #0:0(eng): Video: mpeg4 (Simple Profile), yuv420p(tv,
 bt470bg/bt709/bt709, progressive), 700x700 [SAR 1:1 DAR 1:1], 10 fps, 10
 tbr, 1k tbn (default)
       Metadata:
         HANDLER_NAME    : VideoHandler
         VENDOR_ID       : [0][0][0][0]
         ENCODER         : Lavc61.19.101 mpeg4
         DURATION        : 00:00:08.300000000
   Stream #0:1(eng): Audio: opus, 48000 Hz, mono, fltp (default)
       Metadata:
         HANDLER_NAME    : SoundHandler
         VENDOR_ID       : [0][0][0][0]
         DURATION        : 00:00:08.208000000

 $ ffprobe wp123.mkv
 ...
 Input #0, matroska,webm, from 'wp123.mkv':
   Metadata:
     ENCODER         : Lavf61.7.100
   Duration: 00:00:43.40, start: 0.000000, bitrate: 1031 kb/s
   Stream #0:0: Video: mpeg4 (Simple Profile), yuv420p(tv, progressive),
 700x700 [SAR 1:1 DAR 1:1], 30 fps, 30 tbr, 1k tbn
       Metadata:
         HANDLER_NAME    : VideoHandler
         VENDOR_ID       : [0][0][0][0]
         ENCODER         : Lavc61.19.101 mpeg4
         DURATION        : 00:00:43.403000000
   Stream #0:1: Audio: opus, 48000 Hz, mono, fltp
       Metadata:
         HANDLER_NAME    : SoundHandler
         VENDOR_ID       : [0][0][0][0]
         DURATION        : 00:00:43.324000000
-- 
Ticket URL: <https://trac.ffmpeg.org/ticket/11614>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list