2012-04-04 5 views

Antwort

1

Ein solches Anhängen ist möglich, aber möglicherweise nicht praktikabel - vor allem, wenn Sie jeweils einen Frame hinzufügen möchten.

MP4 ist sehr ein "gebackenes" Format, das schwer zu modifizieren ist, nachdem es erzeugt wurde. Dies liegt daran, dass die Strukturdaten in der "moov" -Box Dateioffsets für wichtige Mediendaten in der "mdat" -Box enthalten. Wenn die MOOV-Box vor der mDAT-Box positioniert ist (üblich für progressiven Download), werden alle Daten, die der MOOV-Box hinzugefügt werden (d. H. Verweise auf neue Keyframes in Ihrem angehängten Video), die mDat-Box weiter wegschieben. Sie müssten nicht nur die Datei neu schreiben, sondern müssten auch alle Dateioffsets entsprechend aktualisieren. (Vielleicht gibt es einige clevere Tricks, um die moov-Box-Größe konstant zu halten ...) Wenn die mdat-Box zuerst positioniert wird, wäre die Operation immer noch umständlich, weil Sie die moov-Box in den Speicher kopieren und Ihr neues Video anhängen müssen Ende des mdat, moov-Felder entsprechend aktualisieren und die neue MOOV-Box anhängen.

Wenn Sie alle neuen Videoframes erfassen können und sie am Ende der Aufzeichnung während eines Umschreibvorgangs hinzugefügt werden, kann dies möglicherweise funktionieren. Sie könnten auch fragmentierte MP4 (mit "Moof" Boxen), aber ich bin mir nicht sicher, wie verbreitet die Unterstützung für das Lesen solcher Dateien ist.