Próbuję połączyć dwa pliki mp4 za pomocą ffmpeg. Potrzebuję, aby był to proces automatyczny, dlatego wybrałem ffmpeg. Konwertuję dwa pliki na pliki .ts, a następnie łączę je, a następnie próbuję zakodować ten skonsolidowany plik .ts. Pliki są zakodowane w formacie h264 i aac i mam nadzieję, że jakość pozostanie taka sama lub jak najbardziej zbliżona do oryginału.
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
Niestety otrzymuję następujący komunikat o błędzie wracający z ffmpeg podczas kodowania:
[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
Dzieje się tak mniej więcej w połowie kodowania, co sprawia, że myślę, że nie można połączyć dwóch plików .ts i sprawić, by działało.