WEBCAM LIB, VIDEO FOR JAVA, API JAVA JNA POUR AVICAP.DLL, MSVFW.DLL, VFW.H
the_wwt
Messages postés177Date d'inscriptionjeudi 5 octobre 2006StatutMembreDernière intervention16 janvier 2009
-
13 févr. 2008 à 22:50
plgarciafr
Messages postés1Date d'inscriptionmercredi 17 juin 2009StatutMembreDernière intervention30 mars 2011
-
30 mars 2011 à 08:33
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
plgarciafr
Messages postés1Date d'inscriptionmercredi 17 juin 2009StatutMembreDernière intervention30 mars 2011 30 mars 2011 à 08:33
Bonjour,
Merci d'avoir mis à disposition ce code.
Je l'ai fait fonctionner sur une machines Windows 7 64 bits, sans grande difficultés en mettant le bon jar jna et les bonnes dll. En fait j'ai trouvé à cette adresse http://java.net/downloads/jna/3.2.7/jna.jar un jar jna qui traite de toutes les plateformes (win 32 et 64, linux etc)
J'ai eu un petit souci dans le code du callback dans lequel la taille du buffer n'était pas correcte. J'ai contourné le problème en trafiquant cette taille ainsi "videoHDR.dwBufferLength &= 0x00000000ffffffffL;" La taille est répétée sur le mot de proid fort et le mot de poids faible, je masque celle sur le mot de poids fort. J'aurais préféré trouver la cause mais je manque encore de compétences sur les libs user32, avicap et JNA.
J'ai aussi eu un souci sur la compilation de la classe test dans laquelle IDevice.WS_SHELL_TRIM n'existe pas, la classe device mise à disposition n'est peut-être pas la dernière.
Encore une fois merci pour ces sources.
Pascal Garcia
zibo3
Messages postés57Date d'inscriptionmercredi 18 juin 2003StatutMembreDernière intervention 7 octobre 2009 7 oct. 2009 à 16:15
Bonjour je suis intéressé par une partie de ton code. Dans la class User32Native, tu déclare une fonction :
public int SendMessageA(HWND hWnd, int wMsg, WPARAM wParam, String lParam);
or quand j'utilise cette fonction il semblerait que le string passer en paramètre soit mal reçu par la fenêtre et que ce soit le pointeur du string et non son contenu qui soit envoyé.
As tu une solution ???
Merci
yep666
Messages postés3Date d'inscriptiondimanche 2 janvier 2005StatutMembreDernière intervention 6 mai 2009 6 mai 2009 à 16:37
Amenophis, il te suffit de modifier le code de la classe de test pour obtenir ce que tu veux. C'est pas un problème lié à son API à proprement parler.
En revanche dommage que l'enregistrement d'une vidéo ne fonctionne pas. Si un jour j'ai le temps je me pencherais sur la question.
Pour le reste ça fait le job.
Amenophis77
Messages postés4Date d'inscriptionsamedi 15 décembre 2007StatutMembreDernière intervention23 avril 2009 23 avril 2009 à 19:40
C'est marrant, car quand on lance 2 programmes. Sa passe nickel. mais c'est pas le but.
Merci lol
the_wwt
Messages postés177Date d'inscriptionjeudi 5 octobre 2006StatutMembreDernière intervention16 janvier 20091 23 avril 2009 à 19:34
Alors génial!
Essaye de gérer les devices dans des threads séparés...
Cordialement :P
Amenophis77
Messages postés4Date d'inscriptionsamedi 15 décembre 2007StatutMembreDernière intervention23 avril 2009 23 avril 2009 à 19:28
Pourtant quand on utilise ton programme la premier fois il propose bien les webcams, mais pas pour le lancement de la 2eme. il faut peux etre utilisé une thread pour chaque webcam. Pour eviter les comflits !
the_wwt
Messages postés177Date d'inscriptionjeudi 5 octobre 2006StatutMembreDernière intervention16 janvier 20091 23 avril 2009 à 19:22
Bonjour,
Si avec la méthode DeviceManager.getAllDevices(); tu ne reçois qu'un seul device la limitation vient du driver window utilisé par la librairie.
On m'avait déjà remonté ce problème, et j'avoue ne pas avoir de solution.
Bon courage,
Pierrick
Amenophis77
Messages postés4Date d'inscriptionsamedi 15 décembre 2007StatutMembreDernière intervention23 avril 2009 23 avril 2009 à 19:18
Re coucou
Je cherche a utiliser 2 Webcam avec tes focntions.Mais, je trouve pas la solution. Il me dit que j'utilise déja la webcam. Et j'en ai deux lol. il me le propose pas. Je suis entrain de développer un programme perso pour le téléguidage d'un téléscope (port com sans problème). Le but est de suivre une étoile avec la premier Webcam Guide et la 2eme Webcam Longue Pose. Si une personne peux m'aidé lol. Ce serais super sympa ! Après j'attaque la partie analyse des frames de la Webcam Guide.
Merci :p
Aménophis77
the_wwt
Messages postés177Date d'inscriptionjeudi 5 octobre 2006StatutMembreDernière intervention16 janvier 20091 23 avril 2009 à 15:57
Salut,
enchanté que cette librairie fasse ton bonheur!
N'hésites pas à poser des questions pour enrichir cette page!
Cordialement;
Pierrrick
yep666
Messages postés3Date d'inscriptiondimanche 2 janvier 2005StatutMembreDernière intervention 6 mai 2009 23 avril 2009 à 09:54
J'ai eu l'occasion de tester sur un portable et ça marche impec. Je vais pouvoir reprendre un vieux projet mis dans un carton, merci :)
yep666
Messages postés3Date d'inscriptiondimanche 2 janvier 2005StatutMembreDernière intervention 6 mai 2009 22 avril 2009 à 11:01
J'ai pas de webcam sous la main donc je n'ai pas pu tester mais j'ai relevé une petite erreur dans la classe
org.hypik.webcamlib.test.sample.Test
IDevice.WS_SHELL_TRIM cannot be resolved
Sinon les autres classes de test compilent.
En tous cas ton travail m'intéresse beaucoup :)
Amenophis77
Messages postés4Date d'inscriptionsamedi 15 décembre 2007StatutMembreDernière intervention23 avril 2009 10 mars 2009 à 21:02
Très bon programme lol, Je voudrai savoir comment faire pour prendre des photos en mode photo et non en mode vidéo. Car je voudrai utiliser la resolution maximal de ma webcam donc 1280x1024 par Philips ToUcam Pro- PCVC740k---> Pour la photo d'astronomie).
Et aussi, Utiliser la Webcam SPC1300NC Philipps en HD (en test -> Plus grande résolution 3200x2048 en 24bits Usb2. Merci d'avance pour ton aide.
throws
Messages postés4Date d'inscriptionmardi 28 mars 2006StatutMembreDernière intervention25 mai 2008 25 mai 2008 à 10:49
Je viens de tester ta lib avec les fichiers SAMPLE_TEST , niquel la webcam de mon portable un fujitsu amilo est toute suite reconnu et me retourne l'image ..
Bon travail ....
the_wwt
Messages postés177Date d'inscriptionjeudi 5 octobre 2006StatutMembreDernière intervention16 janvier 20091 13 févr. 2008 à 22:50
Petite correction:
les fichiers à renommer pour lancer les tests sont à la racine du zip et non pas dans le répertoire bin ( qui lui contient les *.class)
A+
Pierrick
30 mars 2011 à 08:33
Merci d'avoir mis à disposition ce code.
Je l'ai fait fonctionner sur une machines Windows 7 64 bits, sans grande difficultés en mettant le bon jar jna et les bonnes dll. En fait j'ai trouvé à cette adresse http://java.net/downloads/jna/3.2.7/jna.jar un jar jna qui traite de toutes les plateformes (win 32 et 64, linux etc)
J'ai eu un petit souci dans le code du callback dans lequel la taille du buffer n'était pas correcte. J'ai contourné le problème en trafiquant cette taille ainsi "videoHDR.dwBufferLength &= 0x00000000ffffffffL;" La taille est répétée sur le mot de proid fort et le mot de poids faible, je masque celle sur le mot de poids fort. J'aurais préféré trouver la cause mais je manque encore de compétences sur les libs user32, avicap et JNA.
J'ai aussi eu un souci sur la compilation de la classe test dans laquelle IDevice.WS_SHELL_TRIM n'existe pas, la classe device mise à disposition n'est peut-être pas la dernière.
Encore une fois merci pour ces sources.
Pascal Garcia
7 oct. 2009 à 16:15
public int SendMessageA(HWND hWnd, int wMsg, WPARAM wParam, String lParam);
or quand j'utilise cette fonction il semblerait que le string passer en paramètre soit mal reçu par la fenêtre et que ce soit le pointeur du string et non son contenu qui soit envoyé.
As tu une solution ???
Merci
6 mai 2009 à 16:37
En revanche dommage que l'enregistrement d'une vidéo ne fonctionne pas. Si un jour j'ai le temps je me pencherais sur la question.
Pour le reste ça fait le job.
23 avril 2009 à 19:40
Merci lol
23 avril 2009 à 19:34
Essaye de gérer les devices dans des threads séparés...
Cordialement :P
23 avril 2009 à 19:28
23 avril 2009 à 19:22
Si avec la méthode DeviceManager.getAllDevices(); tu ne reçois qu'un seul device la limitation vient du driver window utilisé par la librairie.
On m'avait déjà remonté ce problème, et j'avoue ne pas avoir de solution.
Bon courage,
Pierrick
23 avril 2009 à 19:18
Je cherche a utiliser 2 Webcam avec tes focntions.Mais, je trouve pas la solution. Il me dit que j'utilise déja la webcam. Et j'en ai deux lol. il me le propose pas. Je suis entrain de développer un programme perso pour le téléguidage d'un téléscope (port com sans problème). Le but est de suivre une étoile avec la premier Webcam Guide et la 2eme Webcam Longue Pose. Si une personne peux m'aidé lol. Ce serais super sympa ! Après j'attaque la partie analyse des frames de la Webcam Guide.
Merci :p
Aménophis77
23 avril 2009 à 15:57
enchanté que cette librairie fasse ton bonheur!
N'hésites pas à poser des questions pour enrichir cette page!
Cordialement;
Pierrrick
23 avril 2009 à 09:54
22 avril 2009 à 11:01
org.hypik.webcamlib.test.sample.Test
IDevice.WS_SHELL_TRIM cannot be resolved
Sinon les autres classes de test compilent.
En tous cas ton travail m'intéresse beaucoup :)
10 mars 2009 à 21:02
Et aussi, Utiliser la Webcam SPC1300NC Philipps en HD (en test -> Plus grande résolution 3200x2048 en 24bits Usb2. Merci d'avance pour ton aide.
25 mai 2008 à 10:49
Bon travail ....
13 févr. 2008 à 22:50
les fichiers à renommer pour lancer les tests sont à la racine du zip et non pas dans le répertoire bin ( qui lui contient les *.class)
A+
Pierrick