Протокол ffmpeg с функция concat не объединять видео файлы
Поэтому я попытался использовать следующую команду для объединения 2 видеофайлов с одним и тем же кодеком:
ffmpeg -i "concat:/home/mike/downloads/a1.mp4|/home/mike/downloads/a2.mp4" -c copy "/home/mike/downloads/output.mp4"
Результат: output.mp4 содержит только видео из a1.mp4. Я также попробовал 2 или более файла, но результат тот же. Какова же может быть возможная причина этого? Пожалуйста, помогите
Майк
1 ответ:
Вы не можете объединить файлы
mp4непосредственно с файломconcat protocol, так как формат не поддерживает его. Это предназначено дляmpgилиmpeg-tsи им подобных.Это можно сделать, если пройти мимо одного из следующих форматов:
ffmpeg -i input1.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts intermediate1.ts ffmpeg -i input2.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts intermediate2.ts ffmpeg -i "concat:intermediate1.ts|intermediate2.ts" -c copy -bsf:a aac_adtstoasc output.mp4Альтернативой является использование
concat demuxer, который является более гибким (вам все еще нужны те же кодеки для входных файлов, но он может использовать различные контейнеры):
ffmpeg -f concat -i mylist.txt -c copy outputГде
mylist.txt- это что-то вроде:# this is a comment file '/path/to/file1' file '/path/to/file2' file '/path/to/file3'
Comments