Noch was unklar? Dann in unserem Forum nachfragen
Zum Original-Thread / Zum Postproduktion allgemein-Forum

Infoseite // Zeitstempel - Timestamp, Container, codecs



Frage von greg79:


Hallo in die Runde,

mich interessiert brennend welche Container, bzw. welche Codecs einen frame genauen Zeitstempel beinhalten.
Ich weiß dass bei AVI files eine solche Abfrage und somit auch genaues hinspringen möglich ist. Aber bei MOV bin ich mir nicht sicher. Ich glaube das hängt auch von den verwendeten Codecs ab.
Weiß das jemand hier vielleicht aus dem Stehgreif oder kann mich auf eine Webpage verweisen die diese Eigenschaften auflistet?

Vielen Dank schon mal im Vorraus
Greg

Space


Antwort von carstenkurz:

MOV heisst Quicktime und das ist sogar subframe-genau - typisch 1/600s.


Die Frage ist aber, was Du mit diesen Daten anfangen willst.


- Carsten

Space


Antwort von greg79:

Hallo Carsten, danke für die schnelle Antwort.

Ich fasse mal kurz zusammen was mein Anliegen.
Ich habe videostreams von mehreren miteinander frame-genau synchronisierten Kameras die ich speichern möchte.
Zu späteren Analysezwecken möchte ich in der Lage sein zu einem bestimmten Frame der jeweiligen Aufnahme zu springen.
Das was ich glaube zu benötigen heißt burnt in timecode (BITC) da dieser zu jedem frame codiert wird.
Der normale timecode wird nur in den header eines jeden GOP geschrieben (soweit ich das verstanden habe), dies würde nur eine Schätzung zulassen.
Die Frage ist, welche Cointainer und welche Codecs bieten dieses feature? Hängt das nur von dem zu verwendenden Cointainer oder nur vom Codec ab?
Es ist ziemlich schwierig hier drüber zuverlässige Aussagen zu finden.

Danke im Vorraus für die Beantwortung meiner Fragen.
Greg

Space


Antwort von Jott:

Auch bei GoP-Formaten kannst du selbstverständlich jedes Frame exakt anspringen, sonst gäbe es ja keine Schnittprogramme dafür. Ich wüsste jetzt eigentlich keines, wo das NICHT geht. Professionelle Kameras schreiben einen "richtigen" Time Code, Consumer-Kameras zählen bei jedem neuen Clip von Null hoch.

Schreib halt mal exakt, in welchem Format du aufgenommen hast. mov und AVI sind keine Formate.

Space


Antwort von greg79:

Hallo Jott,

vielen Dank für deine Antwort.
Meine Bilddaten liegen im Raw-Format in dem Arbeitsspeicher meines Rechners vor (ich habe keine Consumer- sondern Industrie-Kameras im Einsatz), d.h. ich kann meinen Format/codec frei wählen.
Ich bin mir der Tatsache durchaus bewusst, dass ich bei GoP-Formaten auch jedes einzelnes Bild anspringen kann, nur dass hier (und bitte verbessert mich falls ich Unrecht habe, ich bin absoluter Neuling auf dem Gebiet) der timecode der GoP hinterlegt ist und nicht für jedes einzelne Bild.
Das kann aber zur Folge haben, dass wenn ich Beispielsweise das zweite Bild aus der GoP haben möchte und diese ausgerechnet fehlt, dass ich das unter Umständen gar nicht mitbekommen, weil ich anstatt des fehlenden Bildes einfach das nächste aus der GoP erhalte, sprich das eigentlich dritte.
Mit BITC habe ich jedoch die Gewissheit.

Die Frage ist gibt es hier Einschränkungen hinsichtlich der Codecs und Container die BITC unterstützen?
Kann ich BITC überhaupt nutzen um einen bestimmten Frame zu adressieren (z.B. gib mit den Frame bei 00:10:23:46)?

Beste Grüße und danke schon mal im Voraus.
Greg

Space


Antwort von dienstag_01:

Das ist alles reichlich nebulös, was hier geschrieben steht.
Nur mal so zum Verständnis: mit was, wie und wo willst du an eine Zeitmarke springen? In einem Schnittprogramm? In einem Player. Wie soll das aussehen?
Das ist für mich nicht nachvollziehbar.
BITC - sagt schon der Name - ist ein ins Bild *eingebrannter* Timecode. Den kann ma sich sowieso nur anschauen, zu irgendeiner Verarbeitung ist der nicht zu gebrauchen.

Space


Antwort von WoWu:

@greg79 Das kann aber zur Folge haben, dass wenn ich Beispielsweise das zweite Bild aus der GoP haben möchte und diese ausgerechnet fehlt, dass ich das unter Umständen gar nicht mitbekommen, weil ich anstatt des fehlenden Bildes einfach das nächste aus der GoP erhalte, sprich das eigentlich dritte. Du kannst das Bild ohnehin nicht direkt anspringen, weil es nur aus Differenzfehlern besteht.
Die im Header der GoP ausgewiesene TC-Gruppe wird also angesprungen, die gesamte GoP decodiert und im Buffer gespeichert und der gefragte TC Wert wird angesprungen.
Das klappt frame- bezw. fieldgenau, je nachdem, was Du machst.
Du must eben nur dafür sorgen, dass Dein Material einen (fortlaufenden) TC enthält.
Das reine "anspringen" ist also kein Thema.
Wenn Du eine Kopplung mit Metadaten machen willst, (also beispielsweise Bildnummern oder Szenenbeschreibungen), musst Du sogenannte SMPTE Key-Length-Value (KLV) Pakete in den Multiplex mappen.
Dann kannst Du auch auf Deine Metadaten springen und bekommst das passende Bild dazu.

Space


Antwort von greg79:

Danke für die erhellenden Antworten, ich glaube ich bin nun reichlich schlauer geworden.
Ok, mir ist nicht ganz klar gewesen, dass der BITC direkt in die Bilddaten geschrieben wird und somit erst nach Decodierung zugänglich ist.

@ Dienstag_01 den Player schreibe ich mir selbst, da dieser die Bilder von mehreren Videos gleichzeitig anzeigen muss.
Ich muss eben nur gewährleisten, dass die Szene in den Bildern den exakt gleichen Zeitpunkt darstellt.

@ Wolfgang eine Kopplung mit Metadaten habe ich nicht vorgesehen.
Ich glaube, ich schreibe dennoch einen BITC in die Bilddaten um hinterher eine Kontrollmöglichkeit zu haben.

Zitat Wolfgang:
Die im Header der GoP ausgewiesene TC-Gruppe wird also angesprungen, die gesamte GoP decodiert und im Buffer gespeichert und der gefragte TC Wert wird angesprungen.

Ich glaube dieses Feature wird aber nicht von Format unterstützt. Hast Du eine Idee wo ich eine Liste finden kann, aus der ersichtlich wird welche Formate dieses Feature unterstützen


Grüße Gregor

Space


Antwort von carstenkurz:

Wieviel hast Du denn da schon probiert?

Du wirst selbst bei GOP basierten Codecs über die üblichen Zugriffsmechanismen jedes Einzelbild einzeln anspringen können.

Von der GOP Struktur wirst Du üblicherweise selbst garnichts mitkriegen, das ist Sache des Codec, den willst Du ja sicher nicht selbst schreiben.

Vereinfacht gesetzt, werden die üblichen APIs die Files selbst an den Decoder im Codec übergeben und von dort sind beliebige Einzelbilder direkt anzuspringen, die automatisiert im Speicher decodiert werden. So wie übliche Player das eben auch per Cueing erlauben ('Goto Funktion').


Nur mal als Beispiel - der Quicktime Player zeigt zwar im Status-Bar nur bis auf die Sekunde genau an, ich kann aber mit den Cursor-Tasten bei BELIEBIGEN Videotypen (DV, MPEG, MP4) einzelbildweise vor und zurück gehen und z.B. auch In- und Outpoints für eine Schleifenwiedergabe setzen, die auch präzise framegenau angesprungen werden.

Ich glaube, Du denkst da zu kompliziert.

- Carsten

Space



Space


Antwort von WoWu:

@Gregor
Mir ist kein Format begann, das in den Playern, bzw. NLEs anders behandelt wird und MPEG sieht die Handhabung sowohl für MPEG2 als auch MPEG4 so vor.
Welches GoP orientierte Format benutzt Du denn ?

Edit: sorry, sehe gerade, Carsten hat das schon ausgeführt.

Space


Noch was unklar? Dann in unserem Forum nachfragen
Zum Original-Thread / Zum Postproduktion allgemein-Forum

Antworten zu ähnlichen Fragen //


MiniDV Timestamp anzeigen
Vegas Pro Update: Unterstützung von ProRes Codecs, Sprache-zu-Text (beta)
Ablauf / Konvertierung / Codecs
AMD Alveo MA35D: FPGA-Beschleuniger für AV1-, H.265- und H.264-Codecs
macOS 14 kann wieder externe Codecs einbinden - bald BRAW-Support durch MediaExtension-Framework?
Codecs
All-Intra Codecs
Fujifilm GFX Eterna: Sensor, Codecs und Modi der kommenden Cinema-Kamera




slashCAM nutzt Cookies zur Optimierung des Angebots, auch Cookies Dritter. Die Speicherung von Cookies kann in den Browsereinstellungen unterbunden werden. Mehr Informationen erhalten Sie in unserer Datenschutzerklärung. Mehr Infos Verstanden!
RSS Suche YouTube Facebook Twitter slashCAM-Slash