Предполагая, что клипы MP4 имеют все одинаковые настройки (размер кадра, битрейт и т.д.) И используют видео h264 и аудио AAC, это можно сделать в командной строке с помощью ffmpeg.
Простой, но менее эффективный способ сделать это:
ffmpeg -i input0.mp4 -c copy -bsf h264_mp4toannexb temp0.ts
ffmpeg -i input1.mp4 -c copy -bsf h264_mp4toannexb temp1.ts
ffmpeg -i "concat:temp0.ts|temp1.ts" -c copy -absf aac_adtstoasc output.mp4
Немного более сложный способ, который не требует создания промежуточных файлов:
mkfifo temp1 temp2
ffmpeg -i input1.mp4 -c copy -bsf h264_mp4toannexb -f mpegts temp1 2> /dev/null & \
ffmpeg -i input2.mp4 -c copy -bsf h264_mp4toannexb -f mpegts temp2 2> /dev/null & \
ffmpeg -f mpegts -i "concat:temp1|temp2" -c copy -absf aac_asdstoacs output.mp4
Любой из них будет полностью без потерь.
Я заметил, что вы решили проблему, связанную с FCP, используя правильные настройки, согласно этому комментарию ...