Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Merge video with ffmpeg [closed]

Tags:

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 :)

like image 617
Björn Avatar asked Sep 17 '25 16:09

Björn


2 Answers

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
like image 118
Gyan Avatar answered Sep 19 '25 07:09

Gyan


If you want to merge several video files, you can use these command.

- concat two video files.
ffmpeg -f concat -i 1.mp4 -1 2.mp4 -codec copy out.mp4

- concat multiple video files.
ffmpeg -i 1.mp4 -i 2.mp4 -i 3.mpt -vcodec copy -acodec copy out.mp4

And then you can cut a video file with ffmpeg.
ffmpeg -i 1,mp4 -vcodec copy -acodec copy -ss 00:01:20 -t 00:06:10.325 out.mp4
'-ss' : start_time
'-to' : end_time,
'-t' : duration_time;
like image 41
Rango22 Avatar answered Sep 19 '25 08:09

Rango22