Zitat:
pkt.pts sollten nicht mit dem fFrameCount hochgezählt werden
Danke für die gute Erklärung, ich versuchs mal einzubauen. Vielleicht erklärt das auch die Unverträglichkeiten, die ich sehe. Zu meiner Schande muss ich gestehen, dass ich bei dem Projekt viel mehr experimentelles Programmieren angewendet habe, als mir lieb ist
. Wenn es hilft, mit FFMPeg klarzukommen, hat das Projekt aber schon seinen Sinn erfüllt.
Edit
Hach, hatte ich doch vor ein paar Tagen schon eingebaut! Man wird alt und dappisch. fFramecount wird nach jedem erfolgreich gelesenen packet heraufgesetzt, bei hereinkommenen Video-frames wird fFramecount von deren timestamps abgelesen, damit, wenn später wieder einzelne bitmaps dazukommen, das timing immer noch stimmt. Da der while-loop fast sicher bei bitmap-frames nur einmal voll durchlaufen wird, werden wirklich die bitmap-frames gezählt und gleichmäßig abgespielt.
Hab vorübergehend einen Zähler eingebaut, der zählt, wie oft av_interleaved_write_frame danebengeht. Bei Videos von insgesamt mehr als einer Stunde Spielzeit, bitmaps und clips gemischt: Nicht einmal.
Jetzt muss ich nur noch herausfinden, wie ich mir das Funktionieren der Codecs mpeg-1 und mpeg-2 zerschossen habe, und dann gibts ein Update.
Gruß und Danke nochmal, ist schön so konkretes Feedback zu kriegen.