210 likes | 314 Views
TER 2005. Sujet encadré par Philippe Collet. Nicolas Yohann Barbier Thomas Castillejos Nicolas Sauvan Bastien Salageanu Emil. Introduction. Fractal TV Application client/serveur vidéo Streaming Téléchargement Portabilité Architecture par composants. Objectifs Initiaux.
E N D
TER 2005 Sujet encadré par Philippe Collet Nicolas Yohann Barbier Thomas Castillejos Nicolas Sauvan Bastien Salageanu Emil
Introduction Fractal TV • Application client/serveur vidéo • Streaming • Téléchargement • Portabilité • Architecture par composants
Objectifs Initiaux • Prototype entièrement fonctionnel • Architecture facilement extensible • Utilisable sur Windows et Linux et éventuellement sur Pocket PC • Utilisation de Fractal • Déploiement en ADL
Technologies utilisées • Plate-forme Fractal • Java Media Framework (JMF) • Remote Method Invocation (RMI) • Architecture Definition Language (ADL)
Les risques • Technologies non maîtrisées • Programmation par composants • Déploiement • Pocket PC: • Compatibilité JVM de IBM • Déploiement laborieux • Configuration minimale • Performance de la lecture vidéo
Phase de pré développement • Ce qui a été fait : • Prototype sous forme de classes java • Parties fonctionnelles mais indépendantes • Exclusivement sur PC
Problèmes et solutions Fractal • Déploiement : • Priorité plus élevée de l’ADL: apprentissage plus long • Incompatibilité librairies Fractal: recherche d’un ensemble cohérent • Fractal-RMI : • Échec déploiement par le client • Déploiement coté client et serveur
Problèmes Pocket PC • Lecture vidéo lente avec JMF Cross Platform • Projet ESSI : Optimisation de la JMF sur PPC non aboutie • Recherche d’une solution alternative (Windows Media Player) • Adoption de la solution la plus raisonnable (codec H263)
Problèmes et solutions PocketPC • Incompatibilités JMF – J9 • Réception vidéo et audio : NoClassDefFoundError • Solutions • Vidéo : Solution trouvée sur les forum de sun :Suppression de la classe Java2DRenderer du jmf.jar • Audio : Essai des solutions possibles (JavaSound, SunAudio) mais sans succès
Problèmes et solutions PocketPC • Incompatibilités Fractal-RMI – J9 • Parsing XML Manquant sur la J9 • Tentative de rendu de compatibilité (1 semaine) : • Ajout des classes de parsing XML du jdk 1.4 • Le chargeur dynamique de classe ne voulait pas s’instancier : ant -> juliaruntimej2me.jar. • Problème d’accès à la méthode createClassLoader -> java.policy pas pris en compte par la J9 • Tests en parallèle sur le JDK1.3: problème de sécurité au moment de la désérialisation par le stub • Solution de replis : communication par Socket ( 2 jours)
Problèmes et solutions JMF • Linux Performance Pack: • Impossibilité de redimensionner le format H263 • Gestion des codecs vidéo: • Peu de formats reconnus par défaut • Intégration de librairies supplémentaires • Incompatibilité entre la JMF et la librairie pour les divx
Fonctionnalités finales • Prototype entièrement fonctionnel • Architecture facilement extensible • Les 2 modes d’utilisations sont utilisables simultanément • Utilisable sur Windows et Linux et PocketPc • Client Fractal-RMI pour les PCs • Client Fractal pour les PocketPc
Bilan • Ce que nous apporté ce TER • Tâches restant à accomplir: • Une parade au bug de la JMF linux • La gestion de la qualité vidéo • Plus de codecs • Conseils pour la suite du développement
Au final… • Démo • Avez-vous des questions?