ffmpeg

Merge video with ffmpeg


I have tried this command: ffmpeg -i 'concat:10.mov|11.mov' -codec copy out.mov The output file out.mov only shows whats in the first movie (10.mov).

Been googling for several hours and tried lots of things but nothing works. I want this done without re-encoding the files. Just merge with the same codec

ffmpeg version 3.2.4 Copyright (c) 2000-2017 the FFmpeg developers
  built with Apple LLVM version 8.0.0 (clang-800.0.42.1)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/3.2.4 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-libmp3lame --enable-libx264 --enable-libxvid --enable-opencl --disable-lzma --enable-vda
  libavutil      55. 34.101 / 55. 34.101
  libavcodec     57. 64.101 / 57. 64.101
  libavformat    57. 56.101 / 57. 56.101
  libavdevice    57.  1.100 / 57.  1.100
  libavfilter     6. 65.100 /  6. 65.100
  libavresample   3.  1.  0 /  3.  1.  0
  libswscale      4.  2.100 /  4.  2.100
  libswresample   2.  3.100 /  2.  3.100
  libpostproc    54.  1.100 / 54.  1.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7ff678802600] Found duplicated MOOV Atom. Skipped it
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'concat:10.mov|11.mov':
  Metadata:
    creation_time   : 2017-03-17T12:15:22.000000Z
    major_brand     : qt  
    minor_version   : 537134592
    compatible_brands: qt  
  Duration: 00:00:29.96, start: 0.000000, bitrate: 140810 kb/s
    Stream #0:0: Video: prores (apcn / 0x6E637061), yuv422p10le, 1280x720, 116735 kb/s, SAR 1:1 DAR 16:9, 50 fps, 50 tbr, 5k tbn, 5k tbc (default)
    Metadata:
      handler_name    : Telestream Inc. Telestream Media Framework - Local 99.99.999999
      encoder         : Apple ProRes 422
Output #0, mov, to 'out.mov':
  Metadata:
    compatible_brands: qt  
    major_brand     : qt  
    minor_version   : 537134592
    encoder         : Lavf57.56.101
    Stream #0:0: Video: prores (apcn / 0x6E637061), yuv422p10le, 1280x720 [SAR 1:1 DAR 16:9], q=2-31, 116735 kb/s, 50 fps, 50 tbr, 10k tbn, 5k tbc (default)
    Metadata:
      handler_name    : Telestream Inc. Telestream Media Framework - Local 99.99.999999
      encoder         : Apple ProRes 422
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
Press [q] to stop, [?] for help
frame= 1498 fps=0.0 q=-1.0 Lsize=  426938kB time=00:00:29.94 bitrate=116815.8kbits/s speed=50.8x    
video:426930kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.001997%

Any ideas? Would make my life very much easier if I got this to work :)


Solution

  • Quicktime files have an index, so can't be joined using a dumb operation such as the concat protocol.

    The concat demuxer is required for such formats:

    #1 Create a text file.

    file '10.mov'
    file '11.mov'
    

    #2 Join them

    ffmpeg -f concat -i list.txt -c copy merged.mov