Как объединять два файла MP4 с использованием FFMPEG?

Я пытаюсь объединить два файла MP4, используя FFMPEG. Мне нужно, чтобы это был автоматическим процессом, следовательно, почему я выбрал FFMPEG. Я преобразую два файла в файлы .ts, а затем объединяю их, а затем попытаетесь кодировать это в файле .ts. Файлы являются H264 и AAC кодированы, и я надеюсь сохранить качество то же самое или как можно ближе к оригиналу.

ffmpeg -i part1.mp4 -vcodec copy -vbsf h264_mp4toannexb -acodec copy part1.ts
ffmpeg -i part2.mp4 -vcodec copy -vbsf h264_mp4toannexb -acodec copy part2.ts
cat part1.ts part2.ts > parts.ts
ffmpeg -y -i parts.ts -acodec copy -ar 44100 -ab 96k -coder ac -vbsf h264_mp4toannexb parts.mp4

К сожалению, я получаю следующее сообщение об ошибке, возвращаемое из FFMPEG во время кодировки:

[h264 @ 0x1012600]sps_id out of range
[h264 @ 0x1012600]non-existing SPS 0 referenced in buffering period
[h264 @ 0x1012600]sps_id out of range
[h264 @ 0x1012600]non-existing SPS 0 referenced in buffering period
[NULL @ 0x101d600]error, non monotone timestamps 13779431 >= 13779431kbits/s    
av_interleaved_write_frame(): Error while opening file

Это происходит примерно на полпути через кодировку, что заставляет меня думать, что вы не можете объединить два файла.

342
задан Ciro Santilli 新疆改造中心法轮功六四事件 13 May 2018 в 14:14
поделиться