Salut,
J'essaye de travailler avec ma webcam et processing (pour modifier l'image video et la mettre en input sur skype, mais j'en suis pas encore là, bien loin ...).
Mon problème est simplement de faire tourner ma webcam avec processing. J'ai récupérer ce bout de code sur flossmanuals : http://fr.flossmanuals.net/processing/c … tree-video
import processing.video.*;
Capture camera;
void setup() {
size(640, 480);
background(0);
String[] devices = Capture.list();
println(devices);
println("blablabla");
println(devices[0]);
camera = new Capture(this, 640, 480, 5);
}
void draw() {
if (camera.available()) {
camera.read();
camera.filter(INVERT);
image(camera, 160, 100);
}
}
public void captureEvent(Capture c){
c.read();
}
Et quand je le lance j'obtiens ce message sur la console :
JNA: Callback org.gstreamer.elements.AppSink$2@53b9c85c threw the following exception:
java.lang.ExceptionInInitializerError
at org.gstreamer.elements.AppSink.gst(AppSink.java:38)
at org.gstreamer.elements.AppSink.pullBuffer(AppSink.java:128)
at org.gstreamer.elements.BufferDataAppSink$AppSinkNewBufferListener.newBuffer(BufferDataAppSink.java:152)
at org.gstreamer.elements.AppSink$2.callback(AppSink.java:184)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.sun.jna.CallbackReference$DefaultCallbackProxy.invokeCallback(CallbackReference.java:455)
at com.sun.jna.CallbackReference$DefaultCallbackProxy.callback(CallbackReference.java:485)
Caused by: java.lang.NullPointerException
at com.sun.jna.Native.extractFromResourcePath(Native.java:797)
at com.sun.jna.Native.extractFromResourcePath(Native.java:781)
at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:209)
at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:322)
at com.sun.jna.Library$Handler.<init>(Library.java:142)
at com.sun.jna.Native.loadLibrary(Native.java:387)
at org.gstreamer.lowlevel.GNative.loadNativeLibrary(GNative.java:59)
at org.gstreamer.lowlevel.GNative.loadLibrary(GNative.java:51)
at org.gstreamer.lowlevel.GstNative.load(GstNative.java:49)
at org.gstreamer.lowlevel.AppAPI.<clinit>(AppAPI.java:38)
... 10 more
name=HP Truevision HD,size=640x480,fps=5 name=HP Truevision HD,size=640x480,fps=30 name=HP Truevision HD,size=160x120,fps=5 name=HP Truevision HD,size=160x120,fps=30 name=HP Truevision HD,size=320x240,fps=5 name=HP Truevision HD,size=320x240,fps=30 name=HP Truevision HD,size=1280x720,fps=5 name=HP Truevision HD,size=1280x720,fps=10 name=HP Truevision HD,size=640x480,fps=5 name=HP Truevision HD,size=640x480,fps=30 name=HP Truevision HD,size=160x120,fps=5 name=HP Truevision HD,size=160x120,fps=30 name=HP Truevision HD,size=320x240,fps=5 name=HP Truevision HD,size=320x240,fps=30 name=HP Truevision HD,size=1280x720,fps=5 name=HP Truevision HD,size=1280x720,fps=30
blablabla
name=HP Truevision HD,size=640x480,fps=5
Peut etre est ce que ca signifie que je ne peux pas utiliser ma webcam avec processing ? J'ai repéré un fameux "nullPointerException" mais je ne vois pas d'où ca peut venir ...
Autre chose étrange, la liste de mes équipements videos est censé s'afficher sous la forme :
[0] blablabla
[1] blablabli
[2] blablablo
[3] blablablu
A la place le texte est ecrit a la suite, comme s'il ne s'agissait pas d'une liste ...
Merci si vous pouvez m'aider la dessus !
Hors ligne
Je n'ai pas trop regardé ton code, mais je te propose d'essayer plutôt le script que tu trouveras dans :
file > exemple > Librairies > vidéo > Capture > GettingStartedCapture
Par ailleurs, n'hésites pas à donner ton OS + ta version de Processing, ça aide beaucoup...
Bon courage.
Hors ligne
Bonjour,
Il faut lui dire quelle caméra utiliser.
Essaie :
camera = new Capture(this, devices[0]);
Hors ligne
Je travail sous windows 7 et processing 2.1.1.
Bonne idée d'utiliser le script de depart ! Ca ne marche pas non plus, mais il repère bien des "cameras available". Il en repère 12 alors que je n'en ai qu'une, mais ca semble normal. La petite lumière a côté de ma webcam s'allume pour indiquer qu'elle est utilisé, mais le sketch me donne un ecran gris.
Le message d'erreur est TRES long, donc je sais pas vraiment comment etre lisible. Du coup je transmet que le début :
JNA: Callback org.gstreamer.elements.AppSink$2@2099e843 threw the following exception:
java.lang.ExceptionInInitializerError
at org.gstreamer.elements.AppSink.gst(AppSink.java:38)
at org.gstreamer.elements.AppSink.pullBuffer(AppSink.java:128)
at org.gstreamer.elements.BufferDataAppSink$AppSinkNewBufferListener.newBuffer(BufferDataAppSink.java:152)
at org.gstreamer.elements.AppSink$2.callback(AppSink.java:184)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.sun.jna.CallbackReference$DefaultCallbackProxy.invokeCallback(CallbackReference.java:455)
at com.sun.jna.CallbackReference$DefaultCallbackProxy.callback(CallbackReference.java:485)
Caused by: java.lang.NullPointerException
at com.sun.jna.Native.extractFromResourcePath(Native.java:797)
at com.sun.jna.Native.extractFromResourcePath(Native.java:781)
at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:209)
at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:322)
at com.sun.jna.Library$Handler.<init>(Library.java:142)
at com.sun.jna.Native.loadLibrary(Native.java:387)
at org.gstreamer.lowlevel.GNative.loadNativeLibrary(GNative.java:59)
at org.gstreamer.lowlevel.GNative.loadLibrary(GNative.java:51)
at org.gstreamer.lowlevel.GstNative.load(GstNative.java:49)
at org.gstreamer.lowlevel.AppAPI.<clinit>(AppAPI.java:38)
... 10 more
Available cameras:
name=HP Truevision HD,size=640x480,fps=5
name=HP Truevision HD,size=640x480,fps=30
name=HP Truevision HD,size=160x120,fps=5
name=HP Truevision HD,size=160x120,fps=30
name=HP Truevision HD,size=320x240,fps=5
name=HP Truevision HD,size=320x240,fps=30
name=HP Truevision HD,size=1280x720,fps=5
name=HP Truevision HD,size=1280x720,fps=10
name=HP Truevision HD,size=640x480,fps=5
name=HP Truevision HD,size=640x480,fps=30
name=HP Truevision HD,size=160x120,fps=5
name=HP Truevision HD,size=160x120,fps=30
name=HP Truevision HD,size=320x240,fps=5
name=HP Truevision HD,size=320x240,fps=30
name=HP Truevision HD,size=1280x720,fps=5
name=HP Truevision HD,size=1280x720,fps=30
JNA: Callback org.gstreamer.elements.AppSink$2@2394c833 threw the following exception:
java.lang.NoClassDefFoundError: Could not initialize class org.gstreamer.lowlevel.AppAPI
at org.gstreamer.elements.AppSink.gst(AppSink.java:38)
at org.gstreamer.elements.AppSink.pullBuffer(AppSink.java:128)
at org.gstreamer.elements.RGBDataAppSink$AppSinkNewBufferListener.newBuffer(RGBDataAppSink.java:144)
at org.gstreamer.elements.AppSink$2.callback(AppSink.java:184)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.sun.jna.CallbackReference$DefaultCallbackProxy.invokeCallback(CallbackReference.java:455)
at com.sun.jna.CallbackReference$DefaultCallbackProxy.callback(CallbackReference.java:485)
JNA: Callback org.gstreamer.elements.AppSink$2@2394c833 threw the following exception:
java.lang.NoClassDefFoundError: Could not initialize class org.gstreamer.lowlevel.AppAPI
at org.gstreamer.elements.AppSink.gst(AppSink.java:38)
etc ...
Dernière modification par Bozon (2014-03-06 19:03:20)
Hors ligne
Les "12" caméras sont en fait les différents couples définition/fréquence de capture que ta webcam supporte...
À priori, c'est gstreamer qui n'est pas content...
Pour bien cerner le pb, je testerai :
- avec une autre webcam sur le même ordi.
- avec la même webcam sur un autre ordi.
Bon courage...
Hors ligne
bonjour
J'ai aussi Windows 7 ,le programme floss manuel ne fonctionne pas,mais il ne sort pas d'erreur, pas contre le programme de GettingStartedCapture fonctionne très bien, le problème doit venir de ta camera .
Hors ligne
Pages: 1