# Video: Per Image Information



## Kababär (26. Jul 2017)

Hi,

ich arbeite derzeit an einem Projekt für die Hochschule. Es geht darum, auf eine am PC oder über IP "angeschlossene" Kamera zuzugreifen und die Bilder anzuzeigen, aber nicht im Original, sondern bearbeitet, d.h. bestimmte Segmentierungsverfahren finden dort statt und diese Bereiche werden transformiert. Die Ergebnisbilder sollen angezeigt werden.
Mein Problem: Speichere ich das bearbeitete Video ab und lade es zu einem beliebigen Zeitpunkt in die Applikation rein, sind die Informationen über die Segmente, etc. verloren.
Frage: Wie würdet ihr das machen, wenn ihr die Information pro Bild speichern wollt?
Meine Idee war es, eine Datenbank dafür anzulegen, die ja aber extrem groß wird.. 
Dabei habe ich eine Tabelle VIDEO, wo die ID und der Pfad des Videos hinterlegt ist.
In VIDEO_INFO wird jedes Video mit seinen einzelnen Frames (also Bilder) angelegt, wobei jedes eindeutige Bild eine Referenz auf die Segment-Informationen (extra Tabelle) enthält.
Eine andere Idee wäre es, die extrahierten Frames als Bild zu speichern und mit Exif die Metadaten zu ändern (z.B. die Segmentierungsinformationen).

Damit beide Lösungen funktionieren, bräuchte ich einen Parser bzw Encoder, um aus den Bilder wieder ein Video zu erstellen. Meine Vermutung ist, dass die Performance zu schwach wäre.

Hat daher jemand eine bessere Idee, wie ich für mehrere Videos pro Bild Informationen abspeichern kann?


----------



## Thallius (26. Jul 2017)

So ganz kann ich Dir nicht folgen. Also du änderst die Bilder. Nun kannst du doch aus den geänderten Bildern wieder direkt ein Video speichern indem du irgendeine Lib wie ffmpeg benutzt. Oder must du noch zusätzlich neben den eigentlichen Bildinformationen etwas speichern? Dann speicher das doch unabhängig davon in einer DB mit deinem Index als Framenummer und einem als Videoname oder so.

Gruß

Claus


----------



## Kababär (26. Jul 2017)

Ja genau, ich ändere die Bilder und will später irgendwann wieder darauf zugreifen. 



Thallius hat gesagt.:


> Oder must du noch zusätzlich neben den eigentlichen Bildinformationen etwas speichern?


Nur die Positionen, an denen etwas geändert wurde. 



Thallius hat gesagt.:


> Dann speicher das doch unabhängig davon in einer DB mit deinem Index als Framenummer und einem als Videoname oder so.


Das hatte ich eigentlich vor, habe aber Angst, dass ich dadurch zu viel Performance verliere. 

Mittlerweile habe ich es hinbekommen, ein Video lokal von der Festplatte (zum Testen) zu laden, über jedes Bild zu iterieren und die Veränderungen des Bildes speichere ich im EXIF-Tag "UserComment" ab.



Thallius hat gesagt.:


> Lib wie ffmpeg


Das könnte ich mir mal angucken. Wäre natürlich genial, wenn es einfach wäre. Denke aber nicht, da ich ja beim Erstellen des neuen Videos die Codecs des alten Videos mitnehmen muss. Ich gucke mal, ob es einen Wrapper dafür gibt.

Danke


----------



## JuKu (5. Aug 2017)

Wie kommst du denn an diese Segmente?
Gibt dir die Kamera spezielle Informationen, die nicht mit im Video / Bild gespeichert werden?


----------

