Zitat von
JanS
Edit: Ich habe mir die Dateien noch mal mit Avidemux 2.6.1 angeschaut: Das erste Frame der MP4 hat dort einen Timestamp von 80 Millisekunden. Geht man von konstanter Framerate aus, erhält man eine Differenz von zwei Frames für den ganzen Film. Die GStreamer Plugins scheinen davon auszugehen, dass das erste Frame Timecode 0 haben müsste, was zwischen den beiden ersten Keyframes zu Problemen führt.
Im AVI-File besteht zwischen dem ersten Frame und dem zweiten eine Zeitdifferenz von 120 Millisekunden statt 40, was auf eine ähnliche 2 Frame-Verschiebung für den ganzen Film hinausläuft. Mit dem Unterschied, das der Avi-Demuxer bei jedem Keyframe den gespeicherten Timestamp verwendet, der irgendwie um 80 Millisekunden von den anderen abweicht. Ist das vielleicht eine Differenz zwischen Timecodes im Stream (P/B-Frames) und im Container (Keyframes)?
Im Matroska-File hat das erste Frame den Timestamp 240 Millisekunden. Das führt aber scheinbar zu keinen Problemen, da GStreamer alle Timecodes vom Container verwenden kann und diese dann konstant um 240 Millisekunden verschiebt.