TERFractalTV

publicité
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
1.
2.
3.
4.
5.
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
Planning prévisionnel
Planning effectif
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
Principe de fonctionnement
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
Architecture finale du prototype
Architecture Pocket PC
Fonctionnalités finales
1.
2.
3.
4.
5.
6.
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?
Téléchargement