Home

Rapport du projet ASR TNT - Département Informatique

image

Contents

1. l IHM au niveau du serveur Puis l agent client cr e le superviseur l o il se d place Cette solution est plus simple r aliser que la premi re mais elle n est pas pratique vu qu elle suppose que l utilisateur ait le contr le du serveur c 3 me solution JVM Client 1 JVM Serveur 22 Dans cette solution l agent client n est pas cr par l agent serveur Il se trouve d s le d part la o l application va tre ex cut e pour la premi re fois Il cr e lui m me l agent superviseur chaque fois o il se d place D un autre c t il r cup re la r f rence de l agent serveur par un service RMI Cette solution est plus simple d ployer que la premi re et plus pratique que la deuxi me Par contre elle pourrait tre assez lourde surtout si le superviseur prend beaucoup de temps s ex cuter chaque fois d Conclusion On a d cod de commencer par impl menter la troisi me solution puis voir si on pourrait voluer vers la premi re ii Conception de l IHM du client L IHM est une fen tre contenant deux objets un objet JVLC affichant le flux vid o et un panneau contenant les l ment graphiques suivants e Liste ChannelsList s lectionner la cha ne t l e Liste DebitsList s lectionner le d bit du flux e Bouton Size ouvre une fen tre de dialogue pour saisir la taille de l image en hauteur et en largeur e Bouton Scale ouvre une fen tre de dialogue pour saisir la
2. D ploiement d un agent mobile JavAct sous Eclipse Les tapes de d ploiement sont les suivantes e Cr er un nouveau projet JavAct e Ajouter une interface qui h rite de BehaviorProfile et de ActorProfile pour sp cifier que l interface repr sente un comportement d acteuret galement un profil d acteur e Dans cette interface ins rer les m thodes correspondantaux messages re us par l acteur e Lancer la compilation de l interface en cliquant sur Project puis Build Project e Dans le Package Explorer d Eclipse s lectionner l interface pour activer les fonctionnalit s sp cifiques du plugin JavAct Cliquer sur l ic ne JavActGen et v rifier qu il n ya pas d erreurs e Une fois les nouvelles classes g n r es compl ter le squelette Attention le programme principal n est pas lu m me un acteur 1 http fr wikipedia org wiki Agent mobile 2 http www irit fr PERSONNEL SMAC arcangeli JavAct_fr html 12 e Lancer le projet via les commandes appropri es d Eclipse iv Applications Nous pr sentons ici deux applications que nous avons faites pour mieux assimiler la notion d agents mobiles et pratiquer la programmation avec JavAct a Crible d Eratosth ne Il s agit de d terminer les n premiers nombres premiers Pour cela nous utilisons la capacit des agents changer de comportement Nous utilisons un acteur par nombre premier qui peut avoir 2 comportements Si ce n est pas un acteur termi
3. access http user test pwd test mux ts url 1234 2 gt dev null e vlc I ncurses ttl 20 home kubuntu Desktop vlc_tnt_paris m3u sout transcode vcodec mp4v acodec mpga vb 500 ab 64 scale 0 6 standard access udp mux ts url 10 0 100 254 2 gt dev null Voici la liste des modules que nous avons utlis s e standard permet d envoyer le flux via un module de sortie par exemple UDP fichier HTTP e transcode est utilis pour transcoder d coder et r encoder le flux en utilisant un codec et ou un d bit diff rent l audio et la vid o du flux d entr e Si les modules d entr e ou de sortie ne permettent pas le contr le du d bit r seau p riph riques d acquisition ceci est fait la vol e en temps r el Ceci peut n cessiter un charge importante en CPU en fonction des param tres choisis Les autres flux tels que fichiers et disques sont transcod s aussi rapidement que le permet le syst me Module Standard ce module enregistre le flux dans un fichier ou le diffuse sur le r seau apr s l avoir multiplex Les options disponibles et que nous utilisons sont access Ces options permettent de s lectionner le medium utilis pour enregistrer ou diffuser le flux Cette option est obligatoirement requise Les choix possibles sont udp diffuse vers une adresse UPD unicast ou multicast Les options sont caching lt dur e en ms gt pour d finir le temps pendant lequel VLC devrait garder les d
4. kits JMF sont disponibles et accessibles l adresse suivante http java sun com producs java media mf 2 1 1 download html Nous avons dans un premier temps voulu utilis le pack recommand pour Linux En effet nos machines de d veloppement taient celles de la salle ASR qui tournent sous Fedora Core 6 avec un noyau 2 6 18 1 Cependant il nous a t impossible de r aliser l extraction du fichierbinaire associer cette version jmf 2_1_1e linux i586 bin En effet apr s avoir donn les droits en ex cution etlanc le binaire t l charg une erreur se produit cp jmf 2_1_1e linux 1586 bin working directory cd working_directory chmod a x jmf 2_1_1e linux 1586 bin mf 2_1_1e linux 1586 bin Permit writing local files from an applet recommend no see readme html yes or no yes Unpacking tail Ne peut ouvrir 309 en lecture Aucun fichier ou r pertoire de ce type Extracting install sfx 9007 line 1 Aucun fichier ou r pertoire de ce type install sfx 9007 line 3 syntax error near unexpected token Apr s avoir pris connaissance de la licence le binaire vous propose de permettre un applet d enregistrer du son et de la vid o partir d un syst me de capture local Ensuite il vous propose d autoriser un applet crire des fichiers localement sur le disque dur Apr s avoir r pondu ces quelques questions le script choue Il est noter que nous avons essay d installer ce p
5. ne Sen D ne E09 ge 20 b 2 me SOMO Ai A te ae Sn le een 20 J ME SOLUULON 2740502270003027 00 ne A LR A A ti ete 20 DLE etea La KST 0 a NO o a td il AE NS MR le dt ne 20 1 Conception de l IHM du clasista ri t tanie 21 A E T Ra 21 1 C T SEVEN Ret rien 21 a Comportement del agent controleur VLC ss 21 b Comportement de l agent Er UR ac 21 A A de ne et ne 22 a Comportement del agent superviseur oooocccnnncccnoncccnoncccnnnnncnnnononnncnonnnnonnnnnnnnnc cnn ncnnnnnccnns 22 b Comportement de l agent Client ar 22 C Testset Vali datio0fi 5 2g2o nms iio TS Re A Sn En 23 1 Tests valid s du fonctionnement du c t serveur 23 ii Tests du fonctionnement du C t client sn 23 a TESTS Vali d s ssir ON 23 b Tests non valid s ess A AN Re PT nn anne TRE 23 li Tests de communication entre les Agents sisi 23 a Tests valide a e ia el ta 23 brest Hon Vald s ii ts 23 A O 24 VLAANDERE S ida a a 25 A Format des comptes rendus des T URIONS Sn nine 25 L Introduction Le projet consiste tudier une solution de diffusion d un flux de vid o TNT T l vision Num rique Terrestre depuis un serveur reli un tuner TNT vers un client potentiellement mobile En fonction du contexte d ex cution du client type de connexion puissance cran une adaptation du signal peut tre n cessaire la source r solution de l image nombre d images par seconde De plus on souhaite pouvoir d placer l application clien
6. programmeur Java moyen initi aux acteurs Dans sa version actuelle 0 5 1 JAVACT s appuie sur le SDK 1 4 et RMI il n y a pas de pr processeur ni de modification de la machine virtuelle ce qui permet d utiliser tous les outils standard de l environnement Java Les acteurs sont des objets actifs qui communiquent de mani re asynchrone et dont le comportement peut changer en cours d ex cution interface non uniforme Les acteurs sont des entit s autonomes naturellement mobiles et la mobilit n induit pas de modification s mantique JAVACT offre des m canismes pour la cr ation d acteur leur changement d interface leur r partition et leur mobilit leur adaptation statique et dynamique les communications locales ou distantes La mobilit et l adaptation sont effectives au moment du changement de comportement ainsi on ne diminue pas l expressivit et le niveau abstraction et on contourne les inconv nients de la mobilit faible de Java Une application JAVACT s ex cute sur un domaine constitu par un ensemble de places qui peut voluer dynamiquement Une place est une machine virtuelle Java au besoin on peut simuler la r partition en cr ant plusieurs places sur le m me site physique Le m me programme JAVACT est exploitable indiff remment dans un environnement r parti ou non L allocation de ressources aux activit s concurrentes est dans la version actuelle laiss e la charge de la machine virtuelle Java iii
7. s sur les exemples de Sun http java sun com produds java media jmf 2 1 1 solutions AVTransmit3 java Nous pensions que si le flux rtp tait correctement form nous allions pouvoir afficher la vid o Cependant nous ne sommes parvenu faire communiquer les deux entit s L erreur retourn e tait celle d un flux rtp vide En cons quence nous avons finalement d cid d abandonner l API JMF et de lui pr f rer la solution JVLC E Java VLC Java vlc repr sente une alternative s rieuse l utilisation de l API JMF Cette API a pour but d int grer le lecteur VLC dans un environnement Java Celle ci permet donc l instar de VLC de lire de nombreux fichiers vid os 19 Le d savantage majeur de cette solution est la difficult d int gration de cette API dans notre environnement En effet des versions pr compil s existent pour linux mais seulement pour des architectures 64bits Il faut donc compiler la main les sources Nous avons cependant utilis le paquet java vlc disponible dans la distribution Fedora Core Pour pouvoir ensuite utiliser cette biblioth que sous clipse il suffit de r aliser les manipulations suivantes e copier l arborescence org videolan etc dans le projet eclipse e copier le fichier libjvlc so et libmawt so dans le projet eclipse e lancer le projet avec l option Djava library path afin qu il trouve les librairies Le fonctionnement de l API est assez simple Il consiste la cr at
8. valeur de l chelle e Bouton Start d marrer red marrer le flux vid o e Bouton Stop arr ter le flux vid o e Bouton Move ouvre une fen tre de dialogue pour saisir l adresse IP du client destination 23 B Codage i C t serveur La partie serveur est compos de deux agents Un agent controleur VLC qui s occupe exclusivement de la gestion du serveur VLC et un agent serveur qui s occupe de g rer la r ception des messages envoy s par le client a Comportement de l agent controleur VLC Voici l interface de l agent controleur VLC public interface ControleurVLC extends ActorProfile BehaviorProfile public void startVLC Hashtable lt String String gt a public void stopVLC e A la r ception du message JAMstartVLC l agent controleur VLC d marre ou de relance le serveur VLC Elle prend en param tre une table de hachage qui contient tous les l ments n cessaires au lancement de VLC Cette table de hachage est parcourue l aide de la fonction updateContent Elle utilise une API Shell afin d ex cuter et d interpr ter les arguments pass s en ligne de commande VLC Nous utilisons l interpr teur de commande sh pour entre autres r cup rer le pid du processus lanc et r cup rer l adresse du binaire vlc et v rifier sa pr sence sur le syst me e A la r ception du message JAMstopVLC le contr leur arr te les processus en cours Il se charge de tuer le processus externe ainsi que le fils cr
9. Rapport du projet ASR TNT Agents Mobiles R dig par Ines CHAABOUNI et Lo c CHALAYER Encadr par S bastien LERICHE D partement Informatique de l INT A A Table des mati res R M OQUC ADRESSE E 4 Gesti n du Prosa 5 AOL ic 5 B Planning pr visionnel et charge hOraire cciccciccccccccccccccccccccccccccccscccsceccsamescssesneeeeeees 5 M tude Dre ne A Are A ce LA er cn 6 A Mise enplace du t ner ENTER as tt 6 E A nee D DAR nn Se ne en 7 Mise en placenta ea E A nienenite 4 11 R sultats destes tSean a ted aa aa dt in eid nt coh cin DAP 10 a Influence du muxer sur le d bit en Mode Standard 10 b Influence du codec sur le d bit et la quilla 10 C Formation agents Mobiles incio ninia radeon 11 1 Pr sentation de la programmation par agents mobiles 11 11 JavAct un intergiciel Java pour les agents mobiles adaptables 12 111 D ploiement d un agent mobile JavAct sous Eclipse ooooonoccnoccnocccononnncncnonononccommenccninnccnnncnos 12 IV Applica OS rs anne reste enr Ne E lee 13 a Erbled Erat sthene iaa a a mA 2 ete tilda 13 DIES ATM s 13 D Java Media Framework JME immenses 13 1 Presentation de ME ia ia 13 11 Int gration de JMF l environnement de travail 14 111 Installation A A et teen ne 14 EJava MECS Si Sn O 19 IV Miise en place de la Solutions A nr tete tete 20 A Sp cifications senunni ann 9635099043 20 OO d afchitec E ESS SR RE ee RE CAS Rt een nt 20 As An T ee nn
10. VA Voici une liste non exhaustive des diverses fonctionnalit s propos es parJMF Lire diff rents types de fichiers multim dias dans une application Java ou un applet Voici les formats support s et disponible sur le site de sun http java sun com produds java media jmf 2 1 1 formats html AIFF AVI GSM HotMedia MIDI MPEG 1 Video MPEG Layer II Audio QuickTime Sun Audio Wave Capturer des donn es audio et vid o depuis une cam ra ou une webcam puis les enregistrer dans diff rents formats Voici une liste d quipements fonctionnels avec JMF 2 1 1 JavaSound 16 bit 44100 22050 11025Hz 8000Hz linear SunVideo SunVideoPlus VFW Intel Create amp Share Diamond Supra Video Kit QuickCam VC camera e cam camera Winnow Videum Creative Web Cam II Miro Video DC30 Iomega Buz QuickCam Home USB Camera Smart Video Recorder III Transmettre des flux audio et vid o en temps r el sur des r seaux Lire des m dias temps r el depuis une source r seau Diffuser simultan ment de nombreux clients de la vid o ou de l audio broadcast JMF est donc une API permettant l exploitation du streaming avec le langage java Elle offre de nombreuses possibilit s et est tr s simple d utilisation Elle a t con u dans sa version 2 pour r pondre aux attentes suivantes Permettre la capture de donn es multim dias Permettre le d veloppement d application java utilisant le streaming ou les conf rences vid o
11. ackage sur d autre distribution linux et notamment sur une Kubuntu Gutsy avec un noyau 2 6 22 14 generic Celle ci s est d roul e avec succ s Il semble donc que le package Linux JMF est un probl me de compatibilit avec les Fedora Core toutes versions confondues Pour palier ce probl me nous avons d cid d installer le kit JMF Cross Platform qui se pr sente sous la forme d un fichier Zip jmf 2_1_1le alljava zip Il suffit alors d extraire cette archive dans notre r pertoire de travail 15 cp jmf 2_1_le alljava zip working_ directory cd working_ directory unzip jmf 2_1_le alljava zip Il est n cessaire ici de personnaliser les param tres de JMF l instar de la version binaire du package On pourra entre autres choisir les p riph riques audio ou vid o ou bien encore activer d sactiver des fonctionnalit s multim dia Ajouter JMF au CLASSPATH Pour compl ter l installation il faut ajouter JMF dans le classpath de la machine export JAVA_HOME asr2007chalayer jdk1 6 0_03 export PATH JAVA_HOMBbin PATH export JMFHOME asr2007 chalayer JMF 2 1 1e export CLASSPATH JMFHOME ib jmf jar SIMFHOME lib customizer jar A tout moment on pourra d cider de cr er un nouveau jar et de l inclure dans le classpath Pour se faire il suffit de lancer le customizer fourni par jmf cd SIMFHOME lib mfcustomizer Architecture et fonctionnement de JMF Nous allons maintenant voquer les
12. agent serveur 25 C Tests et validation Les tests unitaires que nous avons effectu s sont les suivants i Tests valid s du fonctionnement du c t serveur e Lancement manuel du serveur VLC et r cup ration du flux en local et en distant e Lancement du serveur VLC par l agent serveur ii Tests du fonctionnement du C t client a Tests valid s e Fonctionnement de l agent superviseur e Affichage de l IHM par l agent client e Affichage d une vid o locale etd un flux HTTP par une application bas e sur JavaVLC e R cup ration du flux provenant de l agent serveur VLC et son affichage par l application distante bas e sur Java VLC b Tests non valid s e Affichage d un flux RTP par une application bas e sur JMF iii Tests de communication entre les agents a Tests valid s e Envoi des messages de l agent client vers l agent serveur situ s sur la m me machine b Tests non valid s e R cup ration du flux provenant de l agent serveur VLC et son affichage par l agent client local bas sur Java VLC e R cup ration de la r f rence RMI de l agent serveur par l agent client distant et par cons quent l envoi des messages de l agent client vers l agent serveurdistant 26 V Conclusion Ce projet nous a permis de d couvrir une nouvelle approche de gestion de la mobilit par la technologie des agents mobiles Nous avons d choisir une architecture qui nous semblait la plus adapt e mais
13. ans clipse public static void init adresse de la source correspondant un flux RTP String SourceAddress rtp 192 1680 1 33335 ideo l cr ation de la source MediaLocator SourceLocator new MediaLocator SoureAddress V rification que la source existe ifiSourceLocator null System out printin pas de source System exit 1 else System out printin Connect au flux l objet Player qui va pr senter le flux Player player try Creation du player dans l etat realized avec la source player Manager createRealizedPlayen SourceLocator Demarrage du Player player start Creation d une fen tre de test JFrame fenetre new JFrame Player fenetre setSize 180 160 Ajout du Composant visuel du Player dans la fenetre fenetre getContentPane add player getVisualComponent fenetre setVisible true catch Exception e 18 e printStackTrace Cet exemple qui montre la cr ation d un player classique nous a permis de faire afficher une vid o dans un panneau Seconde tape Lecture d un flux rtp en provenance de VLC L API JMF nous permet de g rer des sessions RTP tr s simplement Elle fournit une classe Manager RTPManager qui centralise toutes les fonctions li es une session RTP Cette classe est donc utile pour la r ception de flux RTP L acc s une ressource par un serveur RTP se fait en utilisant une adresse sp cifique de la forme r
14. diff rents concepts propos s dans l API JMF e Source de donn es DataSource P riph rique de capture CaptureDevice Lecteur Player Processeur Processor Datasink Format Manager La source de donn es est un flux de donn es qui encapsule un m dia Elle peut contenir des donn es audio vid o ou m me un m lange des 2 Une source de donn es peut tre instanci e partir d un fichier local ou en r seau Elle contient la localisation du m dia c d adresse du fichier source par exemple le protocole et le logiciel utilis pour d livrer le m dia Une source de donn es peut tre envoy e dans un lecteur pour pouvoir tre pr sent e Le p riph rique de capture comme son nom l indique est un dispositif mat riel capable d acqu rir des donn es webcam micro cam ra Un lecteur est un objet qui prend en entr e un flux de donn es audio et ou vid o et effectue un traitement pour pouvoir pr senter ces donn es Mais avant de pouvoir pr senter un m dia un lecteur 16 doit passer par diff rentes tapes pour se pr parer la lecture Voici la liste des diff rents tats e Unrealized Dans cet tat l objet Player a t instanci mais il ne conna t encore rien du m dia qu il aura lire e Realizing Le lecteur passe en tat Realizing quand on appelle la m thode realize Le lecteur d termine alors les ressources dont il aura besoin e Realized Le lecteur sait qu elles sont l
15. e afin par exemple d am liorer la performance ou de satisfaire la tol rance aux pannes de r duire le trafic sur le r seau ou de suivre un composant mat riel mobile La mobilit du code offre un premier niveau de flexibilit aux applications La d centralisation de la connaissance et du contr le travers les agents et la proximit physique entre les agents etles ressources du syst me renforce la r activit et les capacit s d adaptation La mobilit ne se substitue pas aux capacit s de communication des agents la communication distante reste possible mais les compl te afin de satisfaire aux contraintes des r seaux de grande taille ou sans fil latence non permanence des liens de communication les agents communiquent par 11 1 messages asynchrones ii JavAct un intergiciel Java pour les agents mobiles adaptables JAVACT est une biblioth que Java pour la programmation d applications concurrentes r parties et mobiles base d agents Actuellement en cours de d veloppement a l IRIT elle est distribu e sous forme de logiciel libre sous licence LGPL La plate forme JAVACT s appuie sur les concepts d acteur et d impl mentation ouverte et permet une programmation de haut niveau en Java standard en faisant abstraction des m canismes de bas niveau processus l gers synchronisation RMI Corba JAVACT a t con ue afin d tre minimale et maintenable moindre frais portable et exploitable par un
16. er TNT Avant de proc der l utilisation proprement parler du tuner TNT dans notre projet il a fallu se familiariser avec cet l ment Nous avons donc cherch en conna tre les diff rentes caract ristiques et d couvrir son mode de fonctionnement Celui ci est support nativement dans Linux pour les noyaux sup rieurs au 2 6 Nous l avons en l occurrence test sur un kernel assez r cent 2 6 20 15 generic et un kernel un peu plus ancien le 2 6 22 14 generic Voici les messages obtenus au niveau du noyau lors du branchement dutuner TNT dmesg 522107 647880 usb 6 2 new high speed USB device using ehci_hcd and address 8 522107 780765 usb 6 2 configuration 1 chosen from 1 choice 522107 780974 DVB registering new adapter TerraTec qanu USB2 0 Highspeed DVB T Receiver 522107 781233 input TerraTec qanu USB2 0 Highspeed DVB T Receiver remote control as class input input21 Voici la liste des modules charg s dans le noyau lors de l utilisation du tuner TNT cinergyT2 17540 0 dvb_core 82216 1 cinergyT2 usbcore 138632 13 cdc_ether usbnet cdc_acm cinergyT2 snd_usb_audio snt lsmod grep cinergyT2 Voici maintenant la liste des pacages biangle qu il a fallu rajouter afin de pouvoir utiliser correctement le logiciel sur une distribution Intuber 2 6 20 15 generic e libertine extractions obligatoire codes n cessaires la lecture des vid os e dvb utils facultatif permet entre autre de monitorer
17. es ressources n cessaires et d tient les informations concernant le m dia qu il aura lire e Prefetching Le lecteur passe en tat Prefetching quand on appelle la m thode prefetch Le lecteur pr charge alors le m dia s assure d avoir l exclusvit sur les ressources mat rielles e Prefetched Le lecteur est pr t lire le m dia e Started Passage en Started lors de l appel la m thode start La lecture d marre Le processeur est une sorte de lecteur L interface Processor impl mente d ailleurs celle du Player La seule diff rence est donc qu il permet d acc der aux traitements effectu s dans le lecteur Le flux sortant d un processeur peut tre r cup r par un autre processeur ou par un lecteur Il poss de les 6 tats du lecteur et en rajoute 2 Configuring et Configured Ces tats sont placer entre les tats Unrealized et Realizing e Configuring Le processeur entre en tat Configuring quand la m thode configure est appel e Un processeur a atteint cet tat quand il a acc s la source de donn es et aux informations concernant le format e Configured Le processeur passe en tat Configured quand il s est connect la source de donn es et qu il a fini de d terminer le format Un Datasink r cup re le m dia d une source de donn es et le redirige vers une destination Un Datasink permet par exemple d enregistrer un m dia dans un fichier Un objet format contient le forma
18. et il offre un cadre g n rique pour le d veloppement des applications r parties sur des r seaux de grande taille qui recouvrent des domaines multiples Un agent logiciel est une entit autonome capable de communiquer disposant d une connaissance partielle de ce qui l entoure et d un comportement priv s ainsi que d une capacit d ex cution propre Un agent agit pour le compte d un tiers un autre agent un utilisateur qu il repr sente sans tre obligatoirement connect celui ci r agit et interagit avec d autres agents Un agent mobile peut se d placer d un site un autre en cours d ex cution pour acc der des donn es ou des ressources Il se d place avec son code et ses donn es propres mais aussi avec son tat d ex cution L agent d cide lui m me de mani re autonome de ses mouvements Ainsi la mobilit est contr l e par l application elle m me et non par le syst me d ex cution comme dans le cas de la migration de processus dans les syst mes op ratoires En pratique la mobilit d agent permet de rapprocher client et serveur et en cons quence de r duire le nombre et le volume des interactions distantes en les rempla ant par des interactions locales de sp cialiser des serveurs distants ou de d porter la charge de calcul d un site un autre Une application construite base d agents mobiles peut se red ployer dynamiquement suivant un plan pr tabli ou en r action une situation particuli r
19. ion d un playlist Il faudra ensuite appeler une m thode de lecture sur cette playlist Les diff rentes fonctionnalit s pr sentes dans VLC pour modifier la taille de l image faire des captures d crans r gler le volume de la vid o se retrouvent facilement utilisable gr ce l API 20 IV Mise en place de la solution A Sp cifications Les cas d utilisation que nous avons pr vus sort les suivants e Interactions avec l utilisateur O Changement de Cha nes O Changement de l adresse IP de client O Changement de la taille de l image la r solution et la bande passante disponible e Interaction avec le syst me client D tection automatiques des propri t s du syst me e Interaction avec le r seau D tection automatique du changement du r seau i Choix d architecture On avait choisir entre plusieurs solutions possibles a 1 re solution JVM Annuaire R f rence Client 1 Client 2 RMI SUP Serveur L agent superviseur est pr alablement install sur le client Du c t serveur il y a un agent serveur et un agent annuaire qui contient les r f rences des diff rents agents superviseurs L o il se d place l agent client r cup re la r f rence de l agent superviseur partir de l annuaire Cette solution est complexe d ployer mais elle garantie une certaine rapidit d ex cution 21 b 2 me solution Serveur L agent serveur cr e lui m me l agent client reli
20. la puissance du signal de scanner les fr quences et de g n rer un fichier channels conf Recherche des cha nes Lors de la cr ation du fichier channels conf il faut prendre garde d caler le signal des fr quences de 167Khz En effet celles ci ne sont pas d tect es convenablement par l utilitaire scan Il est ensuite possible de cr er une playlist des cha nes au format m3u et de la passer au logiciel vlc Ce module auto aliment par USB 2 0 est donc tr s simple d utilisation et ne n cessite aucune manipulation particuli re B Tests du serveur VLC i Mise en place VLC est une solution compl te pour la lecture et la diffusion de vid o par r seau Il peut tre utilis comme un serveur pour diffuser des fichiers MPEG 1 MPEG 2 et MPEG 4 des DVDs et des flux vid o r seau en unicast ou multicast Il peut galement tre utilis comme un client pour recevoir d coder et afficher des flux MPEG sow de nombreux syst mes d exploitation VideoLAN Streaming Solution Streamers Clients VLC for MacOS X A VLC for GNU Linux VLC for Pi Windows E Set Top Box fal VLC for ii o Familiar Linux Tuner TNT s GNU Linux Windows MacOS X Unix Wireless Connection Voici quelques exemples de lignes de commande pour lancer un serveur de diffusion avec vlc e vlc I ncurses ttl 20 home kubuntu Desktop vlc_tnt_paris m3u sout transcode vcodec mp4v acodec mpga vb 500 ab 64 scale 0 6 standard
21. lors du lancement de l interpr teur de commande b Comportement de l agent serveur Voici l interface de l agent serveur public interface Serveur extends ActorProfile BehaviorProfile public void startServeur public void stopServeur public void updateDebit String d public void updateSizelmage String x String y public void updateScale String s public void updateClientIP String m public void updateChaine String c e A la r ception du message JAMstartServeur il v rifie tout d abord si le client a bien communiqu son adresse IP puis envoie un message l agent controleur VLC pour d marrer le serveur VLC e A la r ception du message JAMstopServeur il envoie simplement un message l agent controleurVLC pour arr ter le serveur VLC 24 e A la r ception des messages JAMupdateDebit JAMupdateSizelmage JAMupdateScale JAMupdateClientIP ou JAMupdateChaine il envoie un message l agent controleur VLC pour mettre jour le champ correspondant dela table de hachage de la classe e L agent serveur h berge galement un service RMI Celui ci permet de passer la r f rence de l agent serveur au client et ainsi de permettre ces deux entit s de communiquer ii C t client La partie client est compos e de deux agents Un agent superviseur qui supervise l ex cution de l agent sur le syst me h te et un agent client qui s interface avec l IHM et communique avec l agent serveur a Com
22. nal pour chaque message re u contenant un nombre cribler s il le divise alors il le jette sinon on le passe l acteur suivant prochain nombre premier Si c est le dernier du pipeline pour chaque message re u s il le divise alors il le jette sinon il cr e un nouvel acteur terminal avec cette valeur qui affiche sa valeur et devient un acteur non terminal dont le suivant est l acteur qu il vient de cr er Le programme principal qui prend une valeur n en entr e cr e le premier acteur terminal 2 et lui transmet la s rie de nombres cribler de 3 n b Messagerie Host 1 Il s agit de r aliser un prototype d une application de messagerie instantan e ayant la capacit de se d placer au gr de l utilisateur Nous utilisons alors la capacit des agents se d placer d un site un autre pour r aliser la mobilit sans avoir besoin d un serveur tiers Nous utilisons aussi leur capacit s changer des messages de fa on asynchrone De plus chaque agent interagit avec une IHM Nous avons besoin de ces aspects pour notre projet 13 D Java Media Framework JMF i Pr sentation de JMF JMF pour Java Media Framework est une API permettant d incorporer des donn es de type audio ou vid o dans des applications Java Celle ci nous a permis dans le cadre de notre projet de lire un flux vid o en provenance d un serveur de diffusion VLC et d afficher ce flux sur un client compatible JA
23. nous nous sommes heurt s des probl mes li s au d ploiement Ce serait int ressant d avoir un middleware qui g re le d ploiement de fa on le rendre compl tement transparent au programmeur Une volution possible de l application serait de rajouter l agent superviseur une fonction de lancement automatique des machines virtuelles au d marrage ainsi qu une fonction de supervision de la charge r seau bas e sur un service RMI Une autre perspective serait de trouver une solution d affichage du flux vid o qui soit stable et fonctionnelle quelque sot le syst me client 27 VI Annexes A Format des comptes rendus des r unions Projet TNT Compte Rendu de la R union n 1 tenue le 31octobre 2007 l INT Evry Responsables Ines CHAABOUNI et Lo c CHALAYER Etudiants ASR document 2007 2008 Adresse de la r union Telecom INT 9 rue Charles Fourier 91000 EVRY France Contact Ines CHAABOUNI Phone 33 0 622 24 00 84 ines chaabouni telecomnt eu Lo c CHALAYER Phone 33 0 671 39 1390 loic chalayer telecomint eu Participants S bastien LERICHE TELECOM INT Encadrant du Projet TNT Oui Ines CHAABOUNI TELECOM INT Etudiante ASR 2007 2008 Oui Lo c CHALAYER TELECOM INT Etudiant ASR 2007 2008 Oui 28 Prochaine R union 08 11 07 Telecom INT R union Hebdomadairedu Ines CHAABOUNI et Lo c EVRY Projet CHALAYER Compte Rendu Ordre du jour de la prochaine r union 29
24. ocesseur En cons quence la diffusion du flux transcod en temps r el peut mener des pertes de frame ou une mauvaise image dans certainscas quand il manque des ressources Les options disponibles sont vcodec Cette option permet de choisir le codec des pistes vid os dans lequel le flux d entr e doit tre transcod MPEG 1 video MPEG 2 video MPEG 4 video DivX 1 2 3 video WMV 1 2 H I 263 MJPEG Theora vb Cette option permet de r gler le d bit flux video transcod en kbit s scale Cette option permet de donner le ratio dans lequel doit tre redimensionn e la vid o pendant le transcodage Cette option peut tre particuli rement utile pour aider r duire le d bit d un flux width Cette option permet de donner la largeur de la vid o transcod e en pixels height Cette option permet de donner la hauteur de la vid o transcod e en pixels acodec Cette option permet de sp cifier le codec dans lequel la piste audio doit tre transcod e MPEG Layer 2 audio MPEG Layer 3 audio AC3 MPEG 4 audio Vorbis Speex FLAC PCM u law A law ab Cette option permet de fixer le d bit du flux audio transcod en kbit s li R sultats des tests a Influence du muxer sur le d bit en Mode Standard 4753 udp 442 3 4325 udp 448 4167 4442 3 Remarque Quelques pertes d images et de trames audio en udp et http On utilise le muxer ts pour effectuer les tests nombreux codecs suppor
25. onn es en tampon avant de les envoyer ttl lt ttl gt pour d finir le ttl des paquets UDP envoy s group lt nombre de paquets gt pour envoyer les paquets par rafales plut t que un par un late lt dur e en ms gt pour liminer les paquets qui arrivent trop en retard cette tape de la chaine raw si vous ne voulez pas attendre que le MTU soit rempli avant d envoyer les paquets http diffuse par HTTP Les options sont user lt nom d utilisateur gt pour activer l authentification basique par HTTP et d finir l utilisateur pwd lt mot de passe gt pour d finir le mot de passe mime lt type mime gt pour d finir le type MIME retourn par le serveur rtp diffuse par RTP Notez que c est un module assez vieux Il ne permet pas le RTSP et peux uniquement tre utilis pour diffuser des flux TS Veuillez regarder le module de sortie rtp pour un support complet du RTP Les options sont les m mes que pour pour l udp mux Cette option vous permet de choisir la m thode d encapsulation utilis e dans le flux Cette option est obligatoire Les options disponibles sont ts le muxer MPEG2 TS C est le muxer standard utilis pour diffuser du MPEG 2 Ce muxer peut tre utilis avec n importe quelle m thode d acc s Les codecs support s sont MPEG 1 2 4 MJPEG H263 H264 1263 WMV 1 2 et theora pour la vid o l audio MPEG AAC et a52 pour le flux audio Les options sont pid video lt pid gt pour choisir le PID de la piste vid o
26. pid audio lt pid gt pour choisir le PID de la piste audio pid spu lt pid gt pour choisir le PID de la piste de sous titres pid pmt lt pid gt pour choisir le PID de la PMT Program Map Table tsid lt id gt pour choisir l ID du flux TS shaping lt delai de formation en ms gt pour choisir l intervalle minimum durant lequel le d bit du flux doit rester constant pour les flux d bit variable use keykey frames utiliser les images I comme limites de d lai de formation pcr lt intervalle PCR en ms gt permet de choisir quel intervalle le PCR Program Clock References doit treenvoy dts delay lt delai en ms gt permet de retarder le PTS Presentation Time Stamps du DTS Decoding Time Stamp du delai indiqu crypt audio permet d activer le chiffrement de la piste audio en utilisant l algorithme CSA csa ck lt clef sous forme d un mot de 16 caract res gt permet de choisir la clef utiliser pour le chiffrement CSA url Cette option permet de donner les informations sur l emplacement o le flux doit tre enregistr ou envoy Mode transcode Vous pouvez utiliser ce module pour transcoder un flux c est dire changer ses codecs ou ses d bits d encodage Quelques ajustements suppl mentaires peuvent tre r alis s pendant cette phase comme changer la taille d sentrelacer r chantillonner etc Note Selon le d bit original du flux et les options choisies transcoder peut tre une tache tr s intensive pour le pr
27. portement de l agent superviseur Voici l interface de l agent serveur public interface Superviseur extends BehaviorProfile ActorProfile public void findProperties public void memoryControl e A la r ception du message JAMfinlProperties il r cup re les propri t s du syst me h te e A la r ception du message JAMmemoryControl il calculep riodiquement la m moire libre b Comportement de l agent client Voici l interface de l agent client public interface Client extends BehaviorProfile ActorProfile public void initialiser Actor superviseur public void afficher public void sendChannel String m public void sendDebit String m public void sendSize String x String y public void sendScale String m public void start public void stop public void sendIP String m e Au d marrage de l agent client il cr e l agent superviseur et lui envoie le message JAMinitialiser A travers un service RMI il retouve la r f rence du serveur puis affiche VIAM e Le client re oit le message JAMinitialiser de la part du programme principal du Skeleton2 Le client envoie alors les messages JAMfindProperties et JAMmemoryControl l agent superviseur e A la r ception du message JAMafficherle client appelle la m thode show de l IHM e Le client re oit tous les autres messages d marrage arr t et modification du flux vid o de la part de l IHM Il renvoie alors les messages correspondants l
28. s Permettre l acc s un large type de donn es Offrir un support pour le protocole RTP Real Time Transport Protocd JMF se d compose en deux modules distinct L API de base Elle fournit toute une architecture permettant de g rer l acquisition le traitement et l affichage de donn es multim dias On peut alors facilement l aide de JMF cr er une applet ou une application qui pr sente capture manipule ou enregistre des flux multim dia On trouve alors diff rents outils comme les Players qui vont permettre la visualisation et le traitement des donn es On pourra alors gr ce eux traiter le flux vid o et permettre les options que l on souhaite sur le lecteur media 14 e L APIRTP Jusque l JMF ne permettait que de lire traiter et pr senter un flux arrivant un utilisateur Gr ce l API RTP on va maintenant pouvoir transmettre un flux et ainsi cr er sn propre serveur de streaming On peut maintenant capturer un flux partir d une cam ra ou un micro et le transmettre diff rents utilisateurs ou encore centraliser un ensemble vid os et sons et les transmettre sur demande ii Int gration de JMF l environnement de travail Dans la mesure o nous avons utilis seulement une petite partie des fonctionnalit s de JMF c d lecture d un flux vid o il n y a eu aucune incompatibilit mat rielle c d pas de probl me li une source de capture par exemple iii Installation de JMF Les
29. t s b Influence du codec sur le d bit et la qualit KK Kk k Remarque Pour le codec h264 les sc nes d actions paraissent lentes Consommation importante de ressources d autre part En outre si on ne pr cise pas la taille de l image elle varie selon les codecs employ s Influence des arguments ab et vb Ils permettent de r gler le d bit du flux audio et vid o une limite 10 ne pas d passer Influence du champ scale Ce champ permet seulement de modifier la taille de l image et donc d adapter l image un bas d bit en r duisant sa taile mais ne permet pas de diminuer le flux Remarque G n rale Ces d bits sont donn s titre indicatif ils voluent fortement en fonction du type d mission C Formation agents mobiles i Pr sentation de la programmation par agents mobiles La programmation par agents mobiles est un paradigme de programmation des applications r parties susceptible de compl ter ou de se substituer d autres paradigmes plus classiques tel le passage de messages l appel de proc dure distance l invocation d objet distance l valuation distance Elle est d un grand int r t pour la mise en uvre d applications dont les performances varient en fonction de la disponibilit et de la qualit des services et des ressources ainsi que du volume des donn es d plac es Le concept d agent mobile facilite en effet la mise en uvre d applications dynamiquement adaptables
30. t exact d un media Il ne contient pas de param tres sp cifiques d encodage ou d information sur la dur e il donne seulement le nom du format d encodage et le type de donn es n cessaires Un manager est un objet qui permet de faire la jonction entre les diff rents l ments et de simplifier l utilisation des diff rentes fonctions de l API Il permet par exemple de cr er un lecteur partir d une source de donn es Au final il permet de centraliser les diff rentes fonctions e Manager Cette classe permet la construction des objets principaux autrement dit les Players Processors DataSources et DataSinks permettrel enregistrement d un flux ou la capture e PackageManager Maintient un registre de packages contenant des classes JMF customis s Players particuliers CaptureDeviceManager Maintient une liste des p riph riques de capture valable dans JMF e PlugInManager maintient une liste des plugins JMF de traitement utilisables Multiplexers Demultiplexers Codecs Effects Renderers Sch ma de fonctionnement 17 DataSource Int gration de JMF Notre probl matique tait donc de r cup rer un flux rtp en provenance du serveur vlc et de le faire afficher par le client JMF Premi re tape Lecture d un fichier vid o simple Pour ce faire nous sommes parti d un exemple existant et disponible l adresse suivante http www igm univ mlv fr dr XPOSE2005 boitel base php et nous l avons int gr d
31. te la demande pour r pondre un besoin de mobilit de l utilisateur avec changement determinal C t serveur on a utilis le logiciel VLC pour recevoir le flux vid o le transformer suivant les besoins et le rediffuser en streaming type HTTP C t client nous avons d velopp une interface de visualisation simple type Swing permettant d afficher un flux vid o via l API Java VLC de piloter les adaptations du serveur et de d clencher la mobilit La partie client serveur mobilit s appuie surle middleware JavAct Afin de nous familiariser avec les logiciels et les protocoles nous avons effectu dans un premier temps des prototypes simples permettant de tester le fonctionnement individuel des diff rents l ments Dans un deuxi me temps nous avons choisi une architecture r pondant au besoin exprim ainsi que les sp cifications logicielles du client et du serveur Enfin vous avons r alis la mise en oeuvre compl te du projet II Gestion du projet A Suivi du projet On a une r union hebdomadaire avec l encadrant pour discuter de l avancement du projet et et des probl mes rencontr s Un compte rendu voir Annexel est r dig apr s chaque rencontre B Planning pr visionnel et charge horaire La charge totale est de 190 heures sur 10 semaines r partie comme suit 2 semaines 1semaine 2 semaines 3 semaines 1 semaine 1 semaine III tude pr liminaire A Mise en place du tun
32. tp adresse 1p port type On peut alors cr er un objet MediaLocator partir de cette adresse qui sera utilis comme source du flux RTP On peut ensuite utiliser l API de base JMF pour pr senter le flux arrivant dans une application ou une applet Pour cette tape nous nous sommes en particulier inspir des exemples pr sent s sur le site de sun http java sun com produds java media mf 2 1 1 solutions AVReceive3 java Cependant nous avons t dans l impossibilit de faire afficher un flux rtp par notre player Le probl me semblait venir du format de notre flux rtp qui n tait pas reconnu par JMF Pour r soudre ce probl me nous avons donc pens modifier l g rement notre architecture L id e tait donc d utiliser un proxy rtp entre le serveur vlc et le client JMF Troisi me tape mission et lecture d un flux rtp L API JMF permet donc galement d envoyer un flux rtp Dans un premier temps l objet Processor va nous permettre d appliquer les traitements n cessaires avant la transmission sur le r seau On va alors pouvoir param trer le type d encodage la qualit et tout les param tres li s au fichier que l on souhaite transporter Une fois ces traitements effectu s sur le fichier on utilise le PushDatasource qu il nous renvoie en sortie pour cr er les flux d envoi Le RTPManager nous permet alors de cr er une session RTP pour chaque flux que l on souhaite transiter L encore nous nous sommes bas

Download Pdf Manuals

image

Related Search

Related Contents

Tecplot 10 Reference Manual  2. - Just Music  充満式温度計及びバイメタル式温度計  Junior Chessie Racing J105 operation manual  MANUAL DE INSTRUCCIONES  Manual de Instrucciones - ARV 200 - RANGO DE  PARAMAX - 住友重機械工業  Ifox Expert Registradora  Manual de instalação do Sound Pack 60W AXCITY  ASUS PRO P ESSENTIAL P550LAV-XO397G  

Copyright © All rights reserved.
Failed to retrieve file