Wenn die Bildrate nicht zu hoch ist und Sie einem Bild einen genauen Zeitstempel zuordnen können, ist es am einfachsten, die Metadaten als Textuntertitel hinzuzufügen.
Die andere Möglichkeit besteht darin, die Metadaten als Standardheader in einem .mp4
ähnlichen Containerformat zu muxen. .mp4
kann in mehrere Fragmente zerlegt werden, jedes mit einem eigenen Header, und theoretisch kann dies pro Frame erfolgen. Dies für mehr als ein paar Frames zu tun, ist jedoch in Bezug auf Dateigröße und Leistung äußerst ineffizient. Eine Variation dieser Methode wäre, jeden Frame als Bild (z. B. JEPG) zu extrahieren und seine Metadaten festzulegen.
Eine weitere Option ist die Verwendung der Stenografie ohne Hacking. Sie codieren die Metadaten einfach in einen separaten Stream, der mit dem Hauptvideostream zeitstempelsynchronisiert ist. Die meisten modernen Containerformate, einschließlich .mp4
, können mehrere Videostreams in demselben Container aufnehmen (z. B. können Sie den codierten Metadatenstrom als denselben Inhalt, jedoch in einer anderen Sprache kennzeichnen).
Ich bin mir nicht sicher, wie dies in eine Streaming-Strategie passt, aber das DPX-Dateiformat enthält Metadaten pro Frame (möglicherweise viel davon). Dieser Wikipedia- Artikel enthält die grundlegenden Informationen.
Mir ist auch nicht klar, was Sie unter "dauerhaft gebunden" verstehen. Im AVI-Dateicontainer steht das "I" für "Interleaved", wobei sich Video- und Audiopakete (ungefähr) in der Datei abwechseln. Dies gilt für fast alle Containerformate. Die Streams können getrennt werden, aber sie existieren nativ in einem Meta-Stream nebeneinander.
quelle