в
как объединить два одинаковых по параметрам видео файла через ffmpg в исходном качестве

о
Чтобы объединить два абсолютно одинаковых видеофайла в исходном качестве (без перекодирования) в FFmpeg, быстрее и надежнее всего использовать concat демультиплексор. [1]

Всю процедуру можно выполнить в 3 простых шага:

Шаг 1. Создайте текстовый файл со списком

Создайте в папке с вашими видео простой текстовый файл (например, filelist.txt) и пропишите в нем пути к файлам в следующем формате:

file 'video1.mp4'
file 'video2.mp4'

(Обязательно используйте одинарные кавычки вокруг названия файлов. Если видео лежат в других папках, используйте полные пути). [1, 2]

Шаг 2. Запустите процесс

Откройте терминал (командную строку) в папке с созданными файлами и выполните команду: [1]

ffmpeg -f concat -safe 0 -i filelist.txt -c copy output.mp4

Разбор параметров команды:

-f concat — указывает программе использовать метод объединения без повторного сжатия (lossless).
-safe 0 — отключает ограничения на пути к файлам (позволяет использовать пробелы в названиях или полные пути).
-i filelist.txt — задает файл со списком видео для объединения.
-c copy — основной параметр. Указывает скопировать аудио и видеопотоки без их декодирования и повторного кодирования, что обеспечивает мгновенное выполнение и 100% сохранение исходного качества.output.mp4 — имя итогового файла

Шаг 3 (Опционально). Конвертация в транспортный поток для других форматов

Если у вас исходные файлы имеют формат .mp4, иногда они могут отказаться склеиваться напрямую из-за особенностей структуры самого контейнера. В таком случае файлы сначала можно перепаковать в .ts (MPEG-2 TS), который идеально подходит для потоковой склейки, затем объединить их и перепаковать обратно в .mp4

# 1. Конвертируем первое видео
ffmpeg -i video1.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts part1.ts

# 2. Конвертируем второе видео
ffmpeg -i video2.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts part2.ts

# 3. Объединяем их
ffmpeg -i "concat:part1.ts|part2.ts" -c copy -map 0 -f mpegts combined.ts

# 4. Перепаковываем в итоговый MP4
ffmpeg -i combined.ts -c copy -bsf:a aac_adtstoasc output.mp4

