Ich versuche zwei mp4-Dateien mit ffmpeg zu verketten. Ich brauche dies, um ein automatischer Prozess zu sein, deshalb habe ich mich für ffmpeg entschieden. Ich konvertiere die beiden Dateien in .ts-Dateien und verkette sie dann und versuche dann, diese verkettete .ts-Datei zu codieren. Die Dateien sind h264 und aac-codiert und ich hoffe, dass die Qualität gleich bleibt oder dem Original so nahe wie möglich kommt.
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
Leider wird beim Codieren die folgende Fehlermeldung von ffmpeg angezeigt:
[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
Dies geschieht ungefähr in der Mitte der Codierung, was mich denken lässt, dass Sie nicht zwei .ts-Dateien zusammenfassen können, damit es funktioniert.