thenaoh
Messages postés111Date d'inscriptiondimanche 28 septembre 2003StatutMembreDernière intervention24 juin 2015
-
9 mars 2006 à 22:14
agussi
Messages postés9Date d'inscriptionjeudi 17 avril 2008StatutMembreDernière intervention22 avril 2008
-
11 mai 2008 à 22:51
Mais où est le problème alors ? En fait, j'ai pu les faire fonctionner car j'avais installé le jmf pour windows dispo sur le site de sun.
Ma question est donc : Est-il possible avec Eclipse (et si oui, comment?) d'intégrer le jmf dans son projet, sans avoir à l'installer ?? (mon but étant de pouvoir faire fonctionner le lecteur vidéo sur n'importe quelle machine, sans avoir à installer jmf au préalable...)
J'ai déjà essayé de le faire en ajoutant à mon projet les fichiers jmf.jar, customizer.jar, mediaplayer.jar et multiplayer.jar, mais j'ai systématiquement l'erreur suivante à l'exécution (je ne pense pas que ce soit un problème de format, car comme je l'ai dit avant, ça marchait en installant jmf pour windows) :
"Unable to handle format: MPEG, 352x240, FrameRate=29.9, Length=126720"
frank_sauvage
Messages postés56Date d'inscriptionjeudi 14 avril 2005StatutMembreDernière intervention 9 avril 2006 19 mars 2006 à 23:23
rebonjour :)
sans vouloir etre tatillon swing et un explorateur n'est pas imcompatible avec les applets :)
sinon, pour tout dire la JMF est a sa version 2.1.1e qui est la
derniere qu'ils sortiront puisqu'ils ont arreté son developpement. il
reste malheureusement pas mal de bugs et de fonctions promises non
correctement implementées.
je travaille sur le sujet depuis environ un an (visio-conf) mais
je suis loin d'avoir reussi a percer tous les mysteres je crois malgré
de nombreuses heures dans le source de la jmf :'(
pour repondre a ta question concernant la version full-java, oui elle
existe, mais tres peu utilisable dans les faits. dans ton cas, je pense
que ce qui cloche avec le H263, c'est soit le support full-java (la
version pure java m'etonne mais je peux me tromper) soit le
demultiplexer RTP qui dans mes souvenirs n'est qu'en methodes natives.
pour le leightweight la petite astuce :
Manager.setHint(Manager.LIGHTWEIGHT_RENDERER, new Boolean(true));
pour les variables d'environnement pas de la jmf mais tant qu'on y est :
System.getEnv() pour toutes les variables et System.getEnv(String variable) pour une variable precise.
pour les fixer je pense que ca doit se faire avec System.setPropertie..mais faut trouver laquelle..
sinon je reviens a JNLP qui peut t'aider je pense pour l'installation des methodes natives et jar.
ca marche bien quand tu deploies ton appli, tu peux deploier la jmf avec sans avoir a l'installer.
et tu n'es pas obligé d'en faire une appli web, tu peux toujours
pointer sur une URI d'installation locale (ex: chemin relatif sur un CD)
voili..en esperant que ca t'aide.
FSA;
une petite validation de reponse fait toujours plaisir, ca motive a repondre
frank_sauvage
Messages postés56Date d'inscriptionjeudi 14 avril 2005StatutMembreDernière intervention 9 avril 2006 15 mars 2006 à 12:39
Bonjour
la jmf fait une utilisation intensive de methodes JNI pour la compression/decompression.
il te faut donc penser a mettre ces dll (ou .so sous linux) dans le path de ton systeme d'exploitation
pour le deploiement de ton application, il te faudra donc y penser. si
tu utilises un JNLP, toutes les fonctions y sont moyennant
configuration (detection du SE, chargement de la bonne bibliotheque
systeme).
pour la liste des jar que tu fourni, tu peux deja enlever le
customizer.jar, c'est une appli de la jmf qui te permet de generer un
jmf.jar plus leger en n'incorporant que les classes dont tu as
besoin..(tu pourrais d'ailleurs t'en servir.
pour le sound.jar, je dirais à eviter si possible, ou du moins faire
tres attention, car certaines classes rentrent desormais en concurrence
directes avec celles du Javasound de la VM.
une petite astuce : pour tes player video, passes les en composant leger (voir player et constructeur)
sinon tu auras des bugs d'affichage avec le chevauchement et deplacement de fenetres sous windows.
Cdlt;
FSA;
Vous n’avez pas trouvé la réponse que vous recherchez ?
thenaoh
Messages postés111Date d'inscriptiondimanche 28 septembre 2003StatutMembreDernière intervention24 juin 2015 19 mars 2006 à 21:25
Whaoh !! merci pour ces précieuses infos !!!
Pour info, mon appli est à base de swing (il ne s'agit donc pas de faire une quelconque lecture dans un navigateur internet). J'ai cependant quelques questions (de débutant ... ) :
- De ce que j'ai vu sur le site de Sun, il semblerait qu'on puisse lire une vidéo sans avoir à mettre à jour une quelconque variable d'environnement (grâce à leur jmf-2_1_1e-alljava.zip), moyennant certaines contraintes de format vidéo. Cette option a l'air intéressante puisqu'elle permettrait une portabilité windows - linux (principale contrainte de mon appli). J'ai cependant essayé avec un vidéo au format H.263 (qui s'ouvrait correctement avec Quicktime), mais avec mon player, elle s'ouvrait mais l'image restait figée ... saurais-tu d'où ça peut venir ?
- comment passer mon player en composant léger ?
- S'il est malgré tout nécessaire de passer par des variables d'environnement, comment les créer, et comment vérifier qu'elles existent (sous windows et linux) ?? Cette question est importante, car je ne sais pas à l'avance si la machine a ou non jmf d'installé ...
Désolé pour le dérangement, et encore merci pour ton aide, car j'en ai bien besoin ...
jguiraud2002
Messages postés4Date d'inscriptionmardi 17 janvier 2006StatutMembreDernière intervention24 mars 2006 21 mars 2006 à 16:15
Bonjour,
Désolé mais apparement pas de réponse de validation !!
Mais moi j'ai encore une petite question. Désolé encore de te déranger.
Concrètement moi j'essaye également d utiliser JMF. Mon problème est que je dois l'installer sur toutes les machines clients ( ca c'est un gros problème). Tu sembles connaitre une possibilité pour éviter de le faire mais je n'ai pas très bien compris comment...
Pourrais tu expliquer pas à pas la façon de procéder ???
thenaoh
Messages postés111Date d'inscriptiondimanche 28 septembre 2003StatutMembreDernière intervention24 juin 2015 21 mars 2006 à 21:05
Bonsoir à tous ! Désolé pour mes temps de réponse un peu long ...
Encore 1000 mercis pour ces précisions, et je constate que j'ai encore bien des progrès à faire ... . Je pense en effet que je vais abandonner la version "alljava", et que je vais faire au cas par cas (version windows, et version linux)
Pour information, j'ai pour ma part trouvé une solution plutôt simple et efficace, surtout quand on veut que ça marche sur plusieurs bécanes :
- récupérer un petit source du genre http://www.javafr.com/codes/MEDIAPLAYER-OUVRE-LIT-FICHIER-VIDEO-UTILISE-API-JMF_18140.aspx - récupérer sur le site de sun ( http://java.sun.com/products/java-media/jmf/2.1.1/download.html ) la version de jmf pour l'os voulu (pour windows dans notre exemple)
Après ça relève un peu du bricolage, mais bon ça marche :
- On installe jmf une fois. On peut donc récupérer d'une part les packages 'jmf.jar', 'mediaplayer.jar', et 'multiplayer.jar', que l'on va inclure dans le classpath du projet, et d'autre part la liste de dll présents dans un des sous-répertoires du répertoire d'installation de jmf.
- par la suite, il suffira simplement de copier ces dll dans '%windir%\system32' avant de lancer l'appli java pour la 1ere fois sur la bécane voulue (opération qui peut donc se faire automatiquement, sans passer par l'installeur.)
Comme on peut le voir, cette ébauche de solution a une limite : elle ne fonctionne que sous windows. La question (peut être un peu naïve?) serait donc : y a-t-il sous linux un répertoire système équivalent où on puisse effectuer la même manip (notemment copier les .so, équivalents si j'ai bien compris des .dll), de sorte que le player vidéo java puisse fonctionner directement après ?
Si ce n'est pas le cas, il reste toujours possible d'effectuer la même manip, mais en créant en plus soi même les variables d'environnement crées par l'installeur de jmf (utiliser pour cela, comme suggéré par frank, System.setProperty , et aussi System.getEnv pour vérifier qu'elles existent)
Il y a certainement une meilleure solution (notemment avec JNLP, mais j'avoue ne pas bien comprendre comment ça marche...), mais pour ma part ça me conviendra si je peux faire pareil sous linux.
jguiraud2002
Messages postés4Date d'inscriptionmardi 17 janvier 2006StatutMembreDernière intervention24 mars 2006 24 mars 2006 à 16:52
Coucou,
Je me doutais bien que lors de l'installation de JMF certaines dll se copiaient.
J'aimerai cependant savoir lesquelles exactement tu copie pour les faire fonctionner.
En effet, mon appli ne doit tourner que sur windows !!
en fait, ce n'est qu'un petit fichier xml, mais qui est associé a la
machine virtuelle (ouverture auto sous win). dans le fichier xml, tu
dis juste la liste des jar, des dlls, leur position, si l'application
peut marcher off-line (ca evite apres qu'il veuille pas demarrer si il
ne peut pas se co au serveur de maj).
et bien sur la classe principale de l'appli.
apres, si tu modifie ton code, tu n'as qu'a remplacer sur le serveur de
maj, et chaque machine telechargera la derniere version a la prochaine
execution....
sinon, pour les dll, oui tu peux toutes les mettre..ca ne peut pas
faire de mal. apres, si tu as besoin de gagner de la place, tu n'auras
qu'a demander je te dirais quelle dll tu utilises en fonction de ce que
tu fais :)..
agussi
Messages postés9Date d'inscriptionjeudi 17 avril 2008StatutMembreDernière intervention22 avril 2008 11 mai 2008 à 22:51
bonjour a tous
je suis aussi sr un projet d'enregistrement de video avec jmf
et j'ai besoin que cela fonctionne aussi sous linux
sous windows j'utilise la version optimisée pour windows et sous linux, j'ai installé la version pour linux
mais alors que mon code fonctionne sous windows, j'ai une NoDataSourceException sous linux
Auriez vous plus d'info sur la facon de bien installer JMF sous linux notamment les .so etc ?