Bild aus Video speichern

BoTheK

Mitglied
Hallo,
ich schreibe ein Programm in VB6, das aus einem Video ein Standbild speichern soll. Den Video lasse ich in einer PictureBox per SendMCIString anzeigen. Das klappt alles. Nur kann ich das Bild aus der Picturebox nicht speichern. Das Bild ist einfach nur schwarz.
Kann mir da jemand weiterhelfen?
 
Hi BoTheK,

also ein Bild - in deinem Fall aus einer Picture Box - speicherst du mit dem folgenden Befehl:
Code:
Dim gespeichert
gespeichert = SavePicture(Picturebox.Picture, "Dateiname-bzw-Pfad.jpg")

Da ich hier kein VB hab, hab ich das mal mit VBA ausprobiert. Kann sein, dass du den Code etwas abändern musst.

Das mit dem komplett schwarzen Bild, hat was mit der Videobeschleunigung zu tun. Beim Windows Media Player musst du diese unter "Extras - Optionen... - Videobeschleunigung" deaktivieren. Wie das allerdings mit dem SendMCIString geht... ...keine Ahnung! :(

Ich hoffe ich konnte helfen.

Ciao:
Da' Hacker
 
Beim Windows Media Player musst du diese unter "Extras - Optionen... - Videobeschleunigung" deaktivieren.
Hab ich auch schon probiert. Geht leider trotzdem nicht.

Ich speicher das Bild ja auch mit savePicture, aber das Bild ist wie gesagt schwarz.

Trotzdem Danke ;)
 
Hi,

hmm, schade. Gut, wenn du es bereits mit "SavePicture()" probiert hast, dann probiere es doch mit einer API.
Hier der Link:
Bitte hier klicken!

Kopier' einfach den Code und setz' das Handle auf deine Picturebox.

Ich würds ja selber testen, geht nur schlecht in der Arbeit ;) .

Wenn du einen Überblick über die APIs brauchst, dann kann ich dir nur das Programm "API-Guide" empfehlen, dass du über Allapi.net bekommst.

Ciao:
Da' Hacker
 
Hi,

leider funktionierts mit der API auch nicht. das Bitmap ist immer schwarz. :confused:

Wenn ich dann das Bitmap in der Bildvorschau (WinXP) öffne, und über das Video-Fenster lege, sehe ich das Video durch das bmp. als wäre das Bild durchsichtig. Aber er zeigt nur das Video. Alles andere ist schwarz. Es ist also kein Bild-bmp, sondern eher eine Maske.
Ich hoffe, du kannst mir folgen und verstehst wie ich das meine.

edit:
Danke für den API-Guide :)
 
Hi BoTheK,

klar verstehe ich, was du meinst. Das Problem hatte ich immer in Photoshop, als ich per ALT + DRUCK einen 'Screenie' gemacht hab - gleiches Problem: Ich konnte das PS-Fenster bewegen und der Film vom WMP hat durchgescheint.

Naja, wenn du die Videobeschleunigung schon einmal komplett deaktiviert hast, dann müsste das Speichern doch eigentlich gehen - schließlich basiert die ganze Technik doch immer auf dem gleichen :confused: Hmm. Obwohl es natürlich auch nicht so schön ist - bei weiterem Vertrieb - den User immer darauf hinzuweisen, dass er doch bitte mal das und das deaktivieren soll(Hier gibt es allerdings das gute Beispiel "Camtasia". Die haben ein tolles Programm, weisen den User aber trotzdem daraufhin, dass er die Videobeschleunigung ausschalten soll - und sie haben anscheinend tatsächlich Erfolg mit dieser Taktik.).
Also probier mal, ob du auf normalem Wege(ALT + DRUCK) ein Screenshot erstellen kannst. Ich hab jetzt grad Mittagspause, aber wenn ich zu Hause bin, kann ich mir das ganze mal anschauen.

@API-Guide:
Ja, ist schon cool, das Programm. Schade nur, dass die Entwickler nicht mehr daran arbeiten! :(

@andere Tutorials.de-User:
Mensch, lasst mich doch hier nicht alleine - ein No-ob antwortet auf eine komplizierte Frage ;)

Ciao:
Da' Hacker
 
Hi Da Hacker,
wenn ich ein Screenshot vom Media-player mache, kann ich das Video sehen. Aber beim Screenshot von meiner Applikation nicht.

Vielen Dank für Deine Hilfe.
 
Hi mave,
danke für die Linls, doch leider funktioniert das mit dem jpg-speichern auch nicht. Ich bekomme immer ein weißes Bild.

Mit dem AVI Frame Extractor komm ich auch nicht weiter da ich ein mpeg-Video lade. Und daraus soll das bild entstehen.
 
Das Problem beim Mediaplayer ist vermutlich, dass die Informationen direkt in den Bildspeicher der Grafikkarte geschrieben werden, dort wird schwer ranzukommen sein.

Ich kann mir höchstens vorstellen, das man mit DirektX daran kommt.
Alternativ vielleicht auch eine freies Tool, welches automatisiert Screenshots von Spielen und dergleichen anfertigt.
 
Zurück