Ciao,
devo sviluppare una applicazione che:
1) gestisce una webcam su pc/notebook
2) riprende in continuazione i dati dalla webcam e li analizza
3) a seconda che i dati siano o meno coerenti con uno schema effettua delle operazioni

al momento mi sto concentrando sui punti 1 e 2 perchè è la prima volta che mi avvicino al Java Media Framework; però sto incontrando delle difficoltà.

In particolare ho installato una webcam sul mio pc e funziona; fin qui tutto ok. Quando però con JMF cerco di ottenere l'elenco dei device collegati al computer questa non compare.

Ad esempio col semplice codice:
codice:
Vector deviceList = CaptureDeviceManager.getDeviceList(null);
che dovrebbe darmi la lista delle periferiche di acquisizione (audio/video) presenti mi compaiono:
DirectSoundCapture
JavaSound audio capture
ma non la webcam...di conseguenza non posso procedere con del codice tipo (ometto un po di cose e do per assodato che l'elemento "i" sia quello che mi interessa):
codice:
Vector deviceList = CaptureDeviceManager.getDeviceList(null);
CaptureDeviceInfo deviceInfo = (CaptureDeviceInfo) deviceList.elementAt(i);
MediaLocator locator = deviceInfo.getLocator();
Player player = Manager.createRealizedPlayer(locator);
player.start();
però se faccio direttamente (ipotizzando che la webcam sia la prima periferica):
codice:
MediaLocator locator = new MediaLocator("vfw://0");
Player player = Manager.createRealizedPlayer(locator);
player.start();
funziona, mi apre la webcam e (con altro codice) riesco ad istanziare un JFrame che mi visualizza l'output della webcam.

Quello che vorrei capire è:
1) come faccio a farlo funzionare come si deve con "getDeviceList()"?
2) per ottenere il flusso in ingresso dalla webcam devo usare un "Processor" giusto? (ed il suo getDataOutput(); ma questo getDataOutput() mi da i dati letti da webcam?)

poi avrei altre domande sul Processor e su getDataOutput() ma già risolvere questi problemi sarebbe ottimo....

qualcuno sa aiutarmi o almeno indirizzarmi verso della documentazione che mi apra la strada ad una soluzione?