Forum: Mikrocontroller und Digitale Elektronik Einzelne Bilder mit uC aus AVI extrahieren


von laspalmas (Gast)


Lesenswert?

Hallo Leute,

Via der synchrone Schnittstelle eines Mikrocontrollers kann ich bis
jetzt einzelne Bilder aus einer CF-Karte lesen und auf eine LED-Anzeige
ausgeben. Eine Animation auszugeben wäre nicht schlecht. Nun meine
Fragen. kann ich aus einer AVI-Datei die gespeicherten Bilder
extrahieren oder ist das ein aufwendige codec-Verfahren? kennt  jemand
eine Seite wo die Datei Format AVI gut erklärt ist? ( mit wiki bin nicht
schlau geworden).
MFG
laspalmas

von I_ H. (i_h)


Lesenswert?

AVI ist ein Containerformat. Da kannst du alles reinpacken, MPEG2, 
MPEG4, DivX, Xvid, Theora... was dir halt Spaß macht. Bilder aus MPEG2 
zu extrahieren ist schon nicht trivial, weil du immer vom letzten 
vollständigen Frame ausgehen musst, die anderen Formate sind noch 
komplizierter.

von Benedikt K. (benedikt)


Lesenswert?

Es gibt einige Seiten, aber die beschreiben mehr den Stream, denn sobald 
es an die Kompression geht ist das vom Codec abhängig.
Vergiss das also mit dem µC (außer es ist z.B. irgendein großer ARM mit 
Linux drauf).
Ich speichere immer mit Virtualdub den Film als eine BMP Sequenz ab. Die 
kann ein µC problemlos und schnell lesen, da unkomprimiert.

von laspalmas (Gast)


Lesenswert?

Danke Euch für die schnelle Antwort.
@Benedikt
wie machst du es mit Virtualdub. kannst du es mir erklären?
Danke.
Gruß
laspalmas

von TheMason (Gast)


Lesenswert?

@laspalmas

es gäbe/gibt noch die möglichkeit das avi unkomprimiert zu speichern 
(müsste/könnte evtl auch mit virtualdub gehen). dann kommst du einfacher 
an die video-daten dran, allerdings wird das avi dann auch 
demensprechend groß.

virtualdub ist ein kostenloses video-bearbeitungs/schnitt-tool. damit 
lassen sich glaube ich auch formate untereinander konvertieren.

von laspalmas (Gast)


Lesenswert?

@Themason

Danke,Super! das ist genau das was ich brauche. Einfach die Bilder 
hintereinander im stream abgelegt. ich lade "Virtualdub" runter und 
probiere ich es mal. Noch eine Fragen sind die Bilder dann im 
BMP-Format/24-Bit  abgelegt? wenn nein dann ist noch ein Haufen Arbeit 
bei der Konvertierung.

MFG
laspalmas

von yalu (Gast)


Lesenswert?

Irgendwo habe ich gelesen, dass es auch MJPEG in AVI gibt. MJPEG ist
mehr oder weniger eine Aneinanderreihung von einzelnen JPEG-Bildern.
Damit sind die Bilder leicht zu trennen und trotzdem noch ordentlich
komprimiert.

von yalu (Gast)


Lesenswert?

Nachtrag: Laut diesem Text sollen MJPEG-AVIs mit MPlayer bzw. dem
dazugehörenden MEncoder erzeugt werden können:

http://www.pcwelt.de/forum/videobearbeitung/210148-motion-jpeg-avi.html

von Benedikt K. (benedikt)


Lesenswert?

Wenn du den Film als BMPs speicherst, dann speichert Virtuldub den als 
unkomprimierte 24bpp Bitmaps mit fortlaufender Nummer.
Also z.B.
Video000.bmp
Video001.bmp
usw.

Diese Funktion geht über File->Export->Image Sequence

Wenn du den AVI als unkomprimiert speicherst (geht über 
Video->Compression->Uncompressed), dann musst du nur noch rausfinden, 
wie die einzelnen Frames gespeichert werden, also wie der Uncompressed 
Codec funktioniert.

von laspalmas (Gast)


Lesenswert?

Danke Euch allen, es hat geklappt.
simply the best forum ;-)
laspalmas

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.