Webcams reconnues en desktop app mais pas en applet !

skip78 Messages postés 12 Date d'inscription lundi 15 juin 2009 Statut Membre Dernière intervention 19 juin 2009 - 15 juin 2009 à 18:31
slimjava3 Messages postés 2 Date d'inscription samedi 4 juillet 2009 Statut Membre Dernière intervention 30 novembre 2011 - 1 sept. 2009 à 01:55
Salut à tous,

Je suis confronté à un problème depuis plusieurs jours maintenant, qui reste sans réponses suite à mes recherches et mes posts sur différents forums, d'où mon inquiétude quand à la possibilité de résoudre le dit problème.

Je me suis inscris sur javafr pour télécharger les sources de WebcamLib, mais tant qu'à faire je vais poster mon problème ici :

Vous l'aurez compris, je cherche à réaliser une applet gérant les webcams.
J'ai tout d'abord crée une application J2SE en utilisant le JMF (Java Media Framework), qui fonctionne à merveille, détectant toutes les webcams que j'ai eu l'occasion de tester, et affichant le flux comme souhaité.

Malheureusement, le passage de Desktop application à Applet se fait dans la douleur.
J'ai réussi à tout porter en Applet, cela fonctionne à la perfection dans l'appletviewer, mais dès que je l'héberge et le teste via un browser (tésté Firefox, IE et Opéra), c'est l'échec.
Etonnament, il ne plante pas, mais ne detecte pas les webcams (Au début du programme, j'utilises une méthode de l'API JMF pour détécter les webcams installées sur le P.C. et si aucun device n'est repéré, une pop up d'erreur est affichée)

Cependant, lorsque je ne link pas les .jar à mon projet desktop, j'ai le même comportement.
J'en conclus que cela vient surement du fait que j'ai manqué une étape quant à l'intégration de l'API à l'applet.

Je rajouterais que j'ai signé mon applet, au cas ou c'était une question de sécurité, mais rien n'y fait, aucune caméra n'est détéctée.

C'est déséspérant quand comme ici ça fonctionne à merveille sur appletviewer mais échoue sur les webbrowser :(

Merci par avance de votre aide,
Alex

16 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
15 juin 2009 à 21:32
Salut,

Regarde dans la console java de ton browser pour voir si il n'y a pas d'exception qui serait levée par ton code... s'il s'agit d'une ClassNotFoundException, c'est qu'il ne trouve pas la librairie.
0
skip78 Messages postés 12 Date d'inscription lundi 15 juin 2009 Statut Membre Dernière intervention 19 juin 2009
16 juin 2009 à 10:36
Salut,

Malheureusement aucune exception n'est levée !
D'un autre côté, comme je l'ai dit dans mon message d'origine, la fonction de détection des webcams semble ne PAS lever d'exception si les librairies ne sont pas linkées, MAIS empêche l'application de détecter les webcams.

:(
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
16 juin 2009 à 10:41
Tu n'as pas moyen avec JMF de récupèrer le nombre de webcams détectées à ce moment là ? Histoire d'afficher un messagebox pour voir si tu en trouve ou non pour t'assurer si les librairies sont bien linkées ou non...

As tu essayé de faire un seul jar contenant les librairies et tes classes ? (style avec fatjar)
0
skip78 Messages postés 12 Date d'inscription lundi 15 juin 2009 Statut Membre Dernière intervention 19 juin 2009
16 juin 2009 à 11:51
Alors,

Merci tout d'abord de prendre de ton temps pour suivre mon problème :)

Par ailleurs, j'ai lancé un test de détection du JMF dans mon applet, et ça fonctionne :

JMF Version... 2.1.1e

Win32 Build
Native Libraries Found

Plutôt inquiétant !

Pour ce qui est de lister les devices installés, c'est ce qu'est supposé faire la fonction qui me renvoie le message "no webcams detected" (que J'ai crée - ce n'est pas une exception)

En gros,
CaptureDeviceManager.getDeviceList(new VideoFormat(null)); 
ne trouve rien.

Pour ce qui est de mettre tous les jar ensemble, je cherchais justement à faire cela hier soir, je ne connaissais pas fatjar, je vais me pencher la dessus !

Merci.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
skip78 Messages postés 12 Date d'inscription lundi 15 juin 2009 Statut Membre Dernière intervention 19 juin 2009
16 juin 2009 à 11:58
Tiens par ailleurs j'avais pensé tester l'utilisation d'un fichier jnlp pour démarrer en java web start.
Je n'y connais absolument rien.
Penses tu que ça puisse changer quelque chose ?
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
16 juin 2009 à 12:15
Disons qu'avec java web start tu auras peut-être moins de limite au niveau sécurité... Je vois pas vraiment ce qui pourrait bloquer (surtout si les librairies natives sont bien installées !).
0
skip78 Messages postés 12 Date d'inscription lundi 15 juin 2009 Statut Membre Dernière intervention 19 juin 2009
16 juin 2009 à 12:31
On vient de m'imposer l'utilisation d'un applet et par conséquent de me refuser celle de JWS.
Quant à la création d'un unique Jar, aurais tu un autre soft que FatJar, étant donné que je travailles sous NetBeans ?

Merci,
Alex
0
skip78 Messages postés 12 Date d'inscription lundi 15 juin 2009 Statut Membre Dernière intervention 19 juin 2009
16 juin 2009 à 15:23
Bon ....

J'ai tout mis en un seul JAR, je maitrise maintenant la création de jar, la modification de manifest etc.
mais RIEN n'y fait, toujours le même problème !
C'est vraiment énervant

Une quelconque idée ?
pffff ...
Et je suis censé avoir fini aujourd'hui'hui
0
skip78 Messages postés 12 Date d'inscription lundi 15 juin 2009 Statut Membre Dernière intervention 19 juin 2009
16 juin 2009 à 19:01
Bonsoir,

Fait étonnant : ça marche sur Windows XP.
(j'étais sur Vista ...)

Problème : je veux que ça soit compatible avec tous systèmes.

Par ailleurs, il m'a fallu installer la JMF manuellement et faire un JMF registry pour qu'il détecte les webcams sur XP.

Franchement c'est lourd ...
Y'a moyen de lancer ça automatiquement ?
0
skip78 Messages postés 12 Date d'inscription lundi 15 juin 2009 Statut Membre Dernière intervention 19 juin 2009
17 juin 2009 à 15:31
A nouveau, petite update, le problème sur Vista à été résolu par un mec sur le forum de Sun, en fait il semblerait que ça soit le classpath qui dirige vers un dossier qui n'existe pas.
=> il suffit de le créer.
=> dans C:\Java\JRE1.6 créer un dossier "classes" et y mettre le fichier "jmf.properties" présent dans C:\JMF\lib
Aprés ça ca marche nickel :)

Le gros problème restant donc qu'il faut faire de lourdes manipulations avant de pouvoir jouir pleinement des utilités de la JMF.

J'ai tenté de me pencher un peu vers le script, mais c'est contre toute étique d'installer la JMF, de faire le JMF registry et de créer et déplacer des fichiers à l'insu de l'utilisateur. Et de toute façon ça prend un temps monstre.

=> Aucune autre solution que d'indiquer à l'utilisateur ce qu'il doit faire ?

Si vous avez la moindre idée, n'hésitez pas !
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
17 juin 2009 à 16:00
C'est l'inconvénient de java dès qu'on utilise des bibliothèques natives malheureusement : java est fait pour être exécuté sur n'importe quel machine qui a une jvm d'installée, ce qui limite énormément les possibilités d'interraction avec le matériel (webcams par exemple).
0
skip78 Messages postés 12 Date d'inscription lundi 15 juin 2009 Statut Membre Dernière intervention 19 juin 2009
17 juin 2009 à 16:44
En gros je suis baisé ?
0
skip78 Messages postés 12 Date d'inscription lundi 15 juin 2009 Statut Membre Dernière intervention 19 juin 2009
17 juin 2009 à 16:46
(sorry pour le double post)
Parce que, j'ai oublié de préciser, mais dans l'esprit de mon programme, ça peut très bien être du one time use.
=> Si l'utilisateur doit se taper 10 minutes d'install pour faire fonctionner une application, je suis pas sur qu'il soit séduit ... :/
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
17 juin 2009 à 17:08
Je ne sais pas si il existe de solutions miracles à ton problème, l'idéal ce serait de trouver une bibliothèque qui sache exploiter une webcams sans passer par une librairie native ou alors qui soit bien plus simple à mettre en place que jmf !
0
skip78 Messages postés 12 Date d'inscription lundi 15 juin 2009 Statut Membre Dernière intervention 19 juin 2009
17 juin 2009 à 17:12
Bon bah je vais aller voir du côté de FMJ ...
(http://fmj-sf.net/index.php)

Après tout ce que j'ai fait pour mon prog en JMF, c'est assez rageant :/

Surtout sans aucune garantie de résultat avec cette nouvelle librairie ...
0
slimjava3 Messages postés 2 Date d'inscription samedi 4 juillet 2009 Statut Membre Dernière intervention 30 novembre 2011
1 sept. 2009 à 01:55
salut skip78.
j'avais le méme probléme que toi .
dans mon cas , Vector tousLesPilotes = CaptureDeviceManager.getDeviceList(null); marche bien siij'exécute mon application sous mon IDE eclipse ,par contre a travers mon jar ,tousLesPilotes est vide.
je essayer de creer le reprtoire classes dans JRE mais le méme porobléme ..
pouvez vous m'aider ?
0
Rejoignez-nous