Nahmd,
also folgendes Problem.
Ich mussnen Prog schreiben das von Webcam bilder liest und diese verarbeitet. So weit so gut, JMF erkennt die Cam. Aber ich kann diese nicht initialisieren.
ubuntu 6.10
java 6
jmf 2.1.1
Hier der kurze Code:
das Programm liefert folgende Ausgabe:
Komischerweise funktioniert das Capture von derWebcam über das in JMF enthaltene JMStudio.
Die bei google gefunden Lösung war folgendes in /etc/bash.bashrc einzutragen:
Dies ändert bei mir allerdings gar nichts.
also folgendes Problem.
Ich mussnen Prog schreiben das von Webcam bilder liest und diese verarbeitet. So weit so gut, JMF erkennt die Cam. Aber ich kann diese nicht initialisieren.
ubuntu 6.10
java 6
jmf 2.1.1
Hier der kurze Code:
Code:
System.out.println("=> searching webcams");
VideoFormat vidformat = new VideoFormat(VideoFormat.RGB);
int count = CaptureDeviceManager.getDeviceList(vidformat).size();
CaptureDeviceInfo cdinfo;
if (count > 0) {
cdinfo = (CaptureDeviceInfo)CaptureDeviceManager.getDeviceList(vidformat).get(0);
System.out.println("=> using " + cdinfo.getName());
MediaLocator locator = cdinfo.getLocator();
DataSource source;
try {
source = Manager.createDataSource(locator);
} catch (NoDataSourceException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}else {
System.out.println("=> no webcam found. exiting");
System.exit(0);
}
das Programm liefert folgende Ausgabe:
Code:
=> searching webcams
=> using v4l:Pixart PAC207-BCA:0
java.io.IOException: java.lang.Error: Couldn't initialize capture device
javax.media.NoDataSourceException: Error instantiating class: com.sun.media.protocol.v4l.DataSource : java.io.IOException: java.lang.Error: Couldn't initialize capture device
at javax.media.Manager.createDataSource(Manager.java:1012)
at de.fhwf.MuMeTech.Cam.CamGrabber.<init>(CamGrabber.java:32)
at de.fhwf.MuMeTech.Cam.CamGrabber.main(CamGrabber.java:53)
Komischerweise funktioniert das Capture von derWebcam über das in JMF enthaltene JMStudio.
Die bei google gefunden Lösung war folgendes in /etc/bash.bashrc einzutragen:
Code:
LD_LIBRARY_PATH=/home/bazz-dee/workspace/lib/JMF-2.1.1e/lib:/usr/lib/jvm/java-6-sun-1.6.0.00/lib/i386:/usr/lib/jvm/java-6-sun-1.6.0.00/jre/lib/i386/client
LD_PRELOAD=/usr/lib/jvm/java-6-sun-1.6.0.00/lib/i386/libjawt.so
Dies ändert bei mir allerdings gar nichts.