Webcambild abfangen

naroX

Mitglied
Hallo,
ich möchte mittels Java das Bild von der Webcam bekommen.
Ich habe mich schon im Internet ein bisschen schlau gemacht und bin auf JMF-Java Media Framework gestossen, allerdings möchte ich eine beliebige USB-Webcam benützen(dynamisch) ohne das ich vorher irgendetwas groß installiere. Ich habe auch von FMJ gehört nur weiß ich nicht ob es da möglich ist.
Gibt es noch andere APIs oder ist Java eher dafür ungeeignet, die Webcam dynamsich zu verwenden?

mfg Narox
 

Kr0e

Gesperrter Benutzer
Generell ist Java+Media keine gute Mischung leider... Es gibt natuerlich Loesungen, einige davon sind recht umfangreich aber dafuer veraltet und manche sind neu aber dafuer mit vielen Kinderkrankheiten gespickt...

JMF + FMJ mag ich IMHO ueberhaupt nicht... Funktionieren tun beide nur so halb und es gibt einen regelrechten Codec-Wirwar. Doch wenn du eines der Beiden nehmen willst, greif zu FMJ, das ist neuer und besser.

Eine andere Loesung waere z.B. eine native Bilbiothek wie z.B. GStreamer oder VLC zu nehmen und dann mit den entsprechenden Javawrappern darauf zugreifen... Die Wrapper-Projekte heissen GSTreamer-Java (Ich glaub LGPL!) und VLCj (GPL v3 leider...). Ich denke, dass auch bei VLC der Webcamzugriff durchaus funktionieren sollte. Bei GStreamer-JAva auf jeden Fall. Mit diesen Frameworks hsat du dann noch die tolle Moeglichkeit, die Webcamdaten sogar zu streamen...

Gruss,

Chris
 

naroX

Mitglied
Danke für deine schnelle Antwort, aber ich hätte noch ein paar Fragen.
Muss der Benützer dann noch etwas installieren bevor er das Programm verwenden kann?
Welche Programmiersprache würden sich dafür eher eignen?
 

Kr0e

Gesperrter Benutzer
Nein, der Benutzer muss nix installieren...

Also Java hat natuerlich den Vorteil, auf jeder Plattform zu laufen... Wenn du mit Windows zufriedenwaerst, wuerde ich dringend zu C# raten bei solchen Anliegen. Da kannst du mit DirectShow aus dem Problem nen 10 Zeiler machen^^ Ok, vlt sinds mehr Zeilen.. aber es ist um einiges einfacher ;-)
 

naroX

Mitglied
Also ich bin mit Windows ganz zufrieden =P
Ich würde es halt gerne mit Java machen, da ich mich da am Besten auskenne ^^
Werde mir aber das mal in C# anschauen ;)
 

naroX

Mitglied
weißt du da irgendwelche guten Tutorials??

Noch eine andere Frage: Wenn ich jz zum Bsp. doch FMJ benützen würde, funktionieren da nur bestimmte webcams?
 

Kr0e

Gesperrter Benutzer
Meines Wissens nach, klappen generell alle Webcams, die auf dem OS isntalliert sind. Sprich das OS muss diese Webcam ansprechen koennen... Ab dann kann man sich alle verfuegbaren Webcams von FMJ/JMf auflisten lassen....

Hab zwar mit c# noch nie ne Webcam angesprochen... Aber hab was gefunden im Netz...

Versatile WebCam C# library - CodeProject
 

pexx

Mitglied
hi,
ich war auch ne weile auf der suche nach libs um verschiedene cams mit java anzusprechen.

DSJ - DirectShow Java Wrapper: humatic - dsj
gibts als 32 und 64bit version für windows und unterstützt jede cam die ich gefunden hab ;)

JMyron - Myron (WebCamXtra) - Computer Vision & Well Connected Motion Tracking
ist wohl eine lib die auch processing benutzt. hat bis jetzt auch jede cam unterstützt und soll auch unter mac und linux funzen (hab ich nicht getestet). leider bietet es keine möglichkeit unter mehreren (am system angeschlossenen cams) zu wählen.

Xuggler - Xuggle Xuggler
hab ich noch nicht ausprobiert aber sieht vielversprechend aus

falls jemand ergänzungen hat, immer her damit ;)
beste grüße
 

Hannes001

Neues Mitglied
Guten Tag,
mich plagt genau das selbe Problem und ich hätte gerne eine Lösung mit FMJ. Das FMJ Studio funktioniert eigentlich ganz zuverlässig (auf auf verschiedenen Windows Installationen - Das hat mit JMF leider nicht so geklappt.). Um mal etwas mehr ins Detail zu gehen: Die Herausforderung besteht für mich darin ein einzelnes Bild zu extrahieren. Das anlegen, realisieren und starten des Players funktioniert offensichtlich ganz gut. In JMF konnte man die Bilddaten dann mittels einer FramGrabbingControl (via player.getControl("javax.media.control.FrameGrabbingControl")) extrahieren. Das wiederum funktioniert mit FMJ nicht. Hat hier jemand bereits Erfahrung sammeln können?
Vielen Dank und viele Grüße,
Hannes
 

Ähnliche Java Themen

Neue Themen


Oben