Schönen guten Abend, folgende Situation: Ich versuche an einem Notebook unter WindowsVista auf den FrameBuffer einer USB-Webcam direkt zuzugreifen. Das Propramm schreibe ich in C unter der verwendung der Windows API und dem MinGW compiler. Als Treiber verwende ich die Standard WDM-Schnittstelle von Windows sowie die vfw32 Bibliothek. Die Webcam ist ansprechbar, das Video läuft soweit ganz gut, die Software ist somit bis dahin in Ordnung. Mein Problem: Ich möchte ins laufende Videobild, ganz nach OSD-Stil, einige Daten einblenden, dazu muss man den FrameBuffer vor dem Anzeigen mit meinen Daten füttern. Sobald ich aber versuche den FrameBuffer mittels einer CallbackOnFrame-Funktion, die bei jedem neuen Frame vor Anzeigen auch erfolgreich aufgerufen wird, mit meinen Daten zu füttern, friert mir das Videobild komplett ein. Meine Vermutung: Die Webcam spuckt nur das Videoformat mjpg in den FrameBuffer, der somit nicht direkt ohne vorher zu decodieren manipulierbar ist. Bei der Auswahl der Formate, blende ich bei Programmstart mit ein, ist leider nur das mjpg möglich. Weitere Tests: Habe mit demselben Programm und derselben USBWebcam an meinem zweiten PC dasselbe Problem. Wenn ich allerdings an die Videokarte des PCs eine Composit-Camera anschließe und beim Videoformat das RGB-Format auswähle, dann funktioniert dasselbe Programm genauso wie es soll: Das Video läuft Problemlos mit meinen eingeblendeten Daten. Somit bestätigt sich meine Vermutung von oben, da ich bei allen Tests nur das Videoformat von mjpg nach RGB geändert habe. Meine Frage: Gibt es dennoch eine Möglichkeit ein FrameBuffer mit mjpg-Format irgendwie zu manipulieren, ohne das das Video einfriert? Vorher decodieren wäre sinnvoll aber wie bei mjpg?? Hatte jemand schon mal dassselbe Problem?? Den Sourcecode und das Kompilat als exe-Datei kann ich bei Bedarf hier reinstellen. Bin für jede Hilfe dankbar..
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.