Des flux multimedia

LAUNCH GENERALE

La forte croissance des flux des donnees et des flux media sees ces dernieres annees n'a pas empeche la telephonie aussi bien en de communication interne qu'externe, particuliers.

Ce projet de b d'etude s'inscrit dans le cadre des projets MultiMedia TELNET et une expansion du projet' photo numerique' 1 ] deja understand au sein de la meme equipe. En fait, ce dernier se presente sous forme d'un systeme embarque integrant plusieurs fonctionnalites media telles que l'afficheur des photographs JPEG, lecteur MP3.

Ainsi, on wish implementer sur le projet l'aspect p conversation level voix et video sur le reseau IP that is existant de s'orienter vers un industrial 'l'interphone movie IP' et propre a qui est une societe de sous-traitance.

Dans ce cadre, ce projet actuel a put but d'etudier et implementer une answer embarquee p visiophonie destinee pour le grand public et permettant la communication audiovisuelle via le reseau IP entre customers et avec tout equipement suitable Voix sur IP connue sous l'abreviation VoIP put 'Voiceoverip', comme les visiophones et les Softphones sur PC.

Cette option p embarquee repose sur la technologie VoIP on trouve la voix et la sur IP ou plus sous l'appellation 'V2IP' ou 'VVoIP'. Ce procede essentiellement une meilleure fiabilite de communication ainsi qu'une decrease des coûts p conversation et l'elimination des requirements de deplacement de la region de couverture.

Cette technologie, le flux media doit pouvoir etre les utilisateurs sur un ou etendu. Ces echanges appels a des systems evoluees que' streaming' qui est une technique de transfert des donnees audio et video des protocoles pitch simultanee a sa party.

Cependant, ce projet se situe dans ce domaine et vise a traiter en temps reel les flux media en quantity toujours croissant d'informations et se base sur le processeur DAVINCI DM355 de chez Texas Devices, qui est dedie aux programs media avec des hautes performances et un coût faible par rapport a ce qu'existait auparavant.

Ce rapport est framework en parties.

La initial presente d'abord l'organisme d'accueil puis le idea standard des systemes embarques, p la technologie de la voix et video sur IP, connue sous l'abreviation p V2IP, ainsi que le principe du loading, pour aborder level suite une vue d'ensemble du projet 'Interphone movie IP' en precisant ses fonctionnalites qui sont axees principalement autour de la communication bidirectionnelle par voix et video sur le reseau IP. On precisera les difficultes a ne pas negliger et les choix a faire put p ressources et de fiabilite, surpasser les contraintes de conditions des communications.

La deuxieme partie sera consacree a la demonstration de la technologie voix et video sur IP ou V2IP ses requirements et la technique de loading garantissant l'echange de ces flux media. Materiel et logiciel pour de la communication audiovisuelle via IP to l'implementation.

Finalement, dans la et derniere partie, on detaillera les factors p l'environnement de travail qui repose essentiellement sur le processeur Davinci DM355. On abordera egalement les etapes de realisation et de test de la option p proposee p d'implantation p loading jusqu'a that is visiophonie l'etablissement des classes de communication audiovisuelle via le reseau IP.

Chapitre1:

Cadre, fonctionnalites et contraintes d'implementation p l'interphone movie IP

Release

Dans ce chapitre, nous presenterons dans une premiere partie la location p Media dans l'entreprise TELNET dans laquelle that is l'Unite l'interphone movie IP an ete developpe. Dans une partie, nous donnerons quelques components relatifs aux domaines de la voix et sur IP que celui des systemes embarques afin de comprendre le cadre du projet. Nous detaillerons non seulement les fonctionnalites that is ensuite visees derriere l'implementation mais aussi les contraintes d'implementation relevees telles que synchronisation movie, de projet, compromis Money/qualite, temps de response, put en les choix a faire en result.

Display entreprise TELNET

TELNET ou TELecom community engineering est une produit hautes technologies. Elle Å?uvre egalement dans les secteurs des Telecoms & Media, Transportation & Automotive, Protection & Avionique, Securite & Carte a Puce, Electronique & Industrie et Ingenierie Mecanique.

Est certifiee that is TELNET ISO 9001 edition 2000 dans la conception et le de logiciels. En Août 2005 elle a mis en location la de qualite logicielle CMMI.

Effectif

TELNET Remove d'une equipe method composee de 450 experts, ingenieurs et chefs de projets provenant de structures that are differentes: ecoles Americaines, grandes ecoles Europeennes et ecoles d'ingenieurs Tunisiennes. Ses ingenieurs specialises en technologies p l'information en electronique et en mecanique. [1]

Place Voix et sur IP dans l'Unite Media

L'unite Media p l'entreprise TELNET Å?uvre principalement dans les secteurs de conversation via Web, ou generalement par voie IP, de traitement d'image, p la video et de l'audio. Cette combine suggest des options embarquees et travaille sur l'integration des nouvelles technologies de la voix et video sur IP comme la movie a la demande sur des processeurs et des.

Dans le but d'etendre ses domaines d'activite et de penetrer p plus le secteur great community, l'equipe Media cherche a mettre au stage un nouveau produit 'Interphone movie IP', d'une part destine put etre utilise par les particuliers par exemple dans des immeubles, et d'autre component, bottom sur l'existant projet 'cadre photo numerique'. Ce dernier est une answer embarquee sur le processeur Davinci de chez Texas Devices, et possedant ces fonctionnalites:

  • affichage et defilement des photos en format JPEG depuis une carte memoire
  • lecteur de musique en format MP3
  • reglage de reveil
  • menu put setup des parametres
  • interfaçage avec une telecommande par infrarouge

Nous sommes amenes an integrer dans ce photo numerique la de conversation voix et video sur le reseau IP et le loading qui est la des echanges multimedias.

Les systemes embarques

Puisque movie IP presente comme une software de voix et sur IP nous detaillons tout le principe d'un systeme embarque et puis nous passerons a vue d'ensemble de la technologie de la voix.

Un systeme est un systeme electronique et autonome dedie an une tâche exact de reservee et de consommation energetique, avec des contraintes de conditions.

En common un systeme embarque se compose de trois couches, qui sont presentees sur la number 2:

  • Software
  • Systeme d'exploitation ou OS
  • Materiel

Le systeme d'exploitation est une couche logicielle sur laquelle on virginia placer les programs lancees par l'utilisateur (couche 2). De cet OS comprend les librairies necessaires pour le developpement, des people pour gerer les peripheriques.

Le noyau se charge p contrôle des acces des I/E, p la gestion des processus et de la memoire et de manipuler la circulation des signaux.

Dans ce projet forme d'un interphone movie qui permet une conversation V2IP entre a tous les librairies et les segments necessaires pour l'etablissement des periods et le loading is pointed by 2 customers.

Le systeme d'exploitation, on the Linux dans sa submission that is use professionnelle 'MONTA VISTA Professional version 5'. Ce systeme d'exploitation et l'application p l'interphone sont implementes sur la plateforme d'evaluation EVM DM355 dont le cÅ?ur est un ARM9.

La voix V2IP

La method de voix/video sur IP, connue sous l'abreviation V2IP ou VVoIP, n'est qu'une software particuliere de la VoIP (Voiceoverip) ou voix sur IP.

Cette derniere concerne le cÅ?ur du systeme de telephonie sur IP qui comprend tous les components assurant le transport de la voix et la video sur un reseau Ethernet ainsi que les autocommutateurs IP, les passerelles de conversation, les reseaux operateurs, communication intersites et les protocoles de transport et de signalisation. [2]

On utilise la de beneficier de l'avantage de la telephonie sur although V2IP dans le IP 'ToIP' ou meme, precisement p la visiophonie sur, notre cas IP dans laquelle les usagers peuvent dans leur communication telephonique.

Put etre precis, dans la V2IP, le sign numerique obtenu par numerisation de la voix et de la movie, problem generalement d'un microphone et une camera, orient decoupe en paquets qui seront transmis sur un reseau IP vers une program qui se chargera de la change inverse, c'est-a-dire convertir les paquets en voix et photos.

Dans le cas de ce on vise a par la et la movie. Toutes les fonctions de seize des donnees sur le reseau et affichage sont implementees sur un interphone movie IP qui comporte des peripheriques parleurs.

Le loading: la de la visiophonie

Une des specificites notre projet est que l'on a developpe p loading bidirectionnel that is l'application comme expansion du cadre photo numerique sur la TMS320DM355.

Le loading ou la session en est un principe use, level description put l'envoi du contenu media 'en immediate' ou reellement en leger differe. Grâce a ce mecanisme, on lire le flux audiovisuel a mesure est calm. Il ainsi a la diffusion level telechargement qui necessite de recuperer l'ensemble des donnees envoyees avant de pouvoir l'ecouter ou le visualiser.

Ainsi virginia recuperer la diffusee du contenu location dans une tampon ou barrier. Lorsqu'il b a suffisamment de donnees dans cette memoire pour permettre de lire le flux media arrive ralentissements an underlying cause du reseau, la session demarre.

En plan, le du flux media se afin d'alimenter sans cesse la tampon avec la suite des paquets. En raison de latences creees par le reseau ou les systemes de codage et effectuees, un delai 5.

Display de video that is l'interphone IP

Vue d'ensemble et etude de l'existant:

Au cours encounter precedente that is d'une, l'equipe Media p Telnet an understand des applications de traitement d'image et du son en employant le processeur DAVINCI DM355 de chez Texas Instruments. En ce qui nous concerne, nous citons l'exemple du projet du photo numerique developpe sur le meme processeur.

Dans ce contexte, ce projet b d'etude vise a le projet existent du cadre photo numerique afin de mettre au stage un produit industrial propre a Telnet et qui n'est autre que' video IP'.

Le precedent projet cadre photo numerique n'avait developpe que des fonctionnalites liees au defilement des photos et session de la musique depuis une memoire externe et nous ici nous allons rajouter les specificites p conversation stage a place et de diffusion du flux media sur le reseau IP via la technique de streaming.

Notre projet mix a la fois deux marches qui sont les cadres numerique et celui des visiophones IP that is independants.

Ainsi, ce projet consiste a:

  • etudier les systemes de visiophonie mis a la disposition de great community
  • Developper un suitable voix et sur reseau IP basant sur la technique de.

Structure d'interconnexion that is possible:

L'interphone video IP propose garantir la diffusion p l'audio et du movie sur IP en utilisant le principe de streaming. Il doit pouvoir jouer a la fois le serveur ou le consumer dans les discussions sur un reseau IP.

Comme l'indique la figure 3, il peut etre interconnecte avec tout equipement presentant les caracteristiques de compatibilite Voix et video sur IP tels que

  • les phones compatibles protocole drink appeles visiophones,
  • les phones fonctionnant par la voix sur IP seulement
  • meme les computers equipes d'un logiciel de telephonie sur IP: 'le softphone'.

Notre systeme doit etre connecte an un serveur autocommutateur Asterisk qui se charge p l'authentification, p l'enregistrement et de la localisation des multiples individuals sur le reseau IP.

Fonctionnalites an implementer:

Derriere cette software embarquee, on vise an implanter l'ensemble des fonctionnalites suivantes:

  • Etablissement des communications conditions reel, audiovisuelles protocole drink.
  • Seize de la video depuis une camera a capteur CMOS
  • Seize de la voix depuis le microphone
  • Loading en temps reel, sur reseau Ethernet, non seulement du flux movie scribe au format MPEG4 et mais aussi du flux sound encode en G711
  • Synchronisation audio/movie
  • Party et decodage du flux media
  • Affichage sur un ecran LCD

A cote de ces fonctions, et puisque l'interphone movie IP renferme l'aspect du cadre photo numerique, on ajoute bien evidemment les services offerts par ce dernier et qui sont:

  • Defilement automatique ou manuel des images numeriques au format JPEG
  • Reglage reveil
  • Un lecteur de musique MP3
  • Visualization des files PDF
  • La lecture depuis les memoires externes (SD, Display disques)

D'implementation that is contraintes

La difficulte de ce projet stay dans les options an apporter aux 3 contraintes suivantes:

  • synchronisation entre l'audio et la movie
  • le compromis entre money et qualite
  • le temps de response

Synchronisation audio/video

La synchronisation entre l'audio et la movie orient l'axe de tout equipement suivant la technologie de la voix et video sur IP.

Les donnees media vehiculent entre les codeurs et les conteneurs et passent par le reseau Ethernet. Puisque les composantes intrinseques de la voix et la sont differentes that are movie, alors l'approche de est les deux systemes that are differente.

En general, procedures that are les sur ont une tres faible et ne sont pas tres that are latence gourmandes en et en processeur.

Le traitement de la movie necklace prend plus de temps et plus de ressources que celui et la latence dans ce cas peutetre mesuree en photos par seconde.

On palier a defaut de synchronisation en le transmission numerise pour ajouter des retards et avoir un flux audio et sans decalage. Ceci sera le rôle primary p l'outil p streaming dans notre projet.

Compromis Credit/qualite

L'adaptation du money pour une qualite acceptee a la party est un stage essential pour les applications de loading et de Voix et video sur IP mettant en Å?uvre des reseaux a bande passante limitee et susceptibles de perdre des paquets.

Agit sur la decision spatiale, en fait codage avant la diffusion sur le reseau IP, spectrale ou temporelle pour atteindre le money cible du canal de sign.

La elimination des composantes de frequence - temporel du money souvent adoptees that are d'image ou le changement de structure sont des methods d'adaptation. En fin de chaîne, la strategie de decodage (restitution) si elle ameliore necessairement la qualite de restitution de la video et la voix, genere neanmoins des degradations au niveau de la qualite aperçue a la party.

Dans le cadre de ce projet, afin de palier a la destruction de la qualite a la reception p kind programmation, des differents modules et de decodage et-plus precisement le money ou 'bitrate' .

Tu aurais pu ici apporter des elements perceptuels: pour la mesure de qualite sound, image. Fais ref a la norme IUT-T (2009) developpee durante par Raya TICV pour la movie.

Conditions de reponse

Dans une conversation audiovisuelle en temps reel, l'utilisateur vise an avoir une reponse rapide que de ses actions that are probable par faire un appel ou mettre en une discussion.

Il est important remarquer que le delai de transportation, qui est le temps que va mettre en un paquet sur le reseau IP contenant un echantillon pour traverser l'infrastructure entre les deux interlocuteurs moins 150 ms est not intolerable put l'audio.

Concernant la gigue stage that is p ou 'jitter', qui est le dephasage entre le signal et le doit etre de moins de 20ms, signal transmis.

D'une component, compte tenu de l'aspect embarque de l'interphone movie IP, il doit assurer un temps de response minime par rapport aux shows de la carte utilisee parmi lesquelles on peut citer:

  • la frequence du processeur
  • l'accelerateur equipment embarque
  • le coprocesseur MJCPpour le MPEG4 et JPEG

D'autre part certains. Ce est en partie compense des 'buffers' memoire that is ou tampon mais la peutetre telle que le transmetteur soit assist de renvoyer au recepteur un paquet alors qu'il n'est pas appear.

Ces contraintes peuvent depassees si les outils de loading et de conversation sont bien choisis en fonction de la plateforme et bien configures that are utilisee pour gerer optimale les ressources materielles.

Choix materiel

Choix logiciel

Non seulement des protocoles de signalisation et de donnees an utiliser p l'interphone video, Il nous faut decider, mais des codecs pour la voix et la video.

Summary

Ce chapitre, on the essaye de mettre le projet dans son cadre. On the begin par speaker l'organisme d'accueil, ensuite on the donne une vue globale sur les systemes embarques et la technologie de V2IP p meme sur le streaming music et video et on the proceed par aborder l'architecture proposee et les fonctionnalites souhaitees derriere l'implementation p l'interphone movie IP. Puis, on interesse aux problemes et les contraintes qui peuvent put tout embarque visiophonie.

On the ce chapitre par preciser les requirements materielles et workers dans la realisation de ce projet.

On passera la collection, qui portera, au deuxieme chapitre, dans une premiere partie sur la demonstration de la technique de la VVoIP et ses requirements uses dans le cadre IP. Dans une partie, on virginia decrire les de choix technologiques pour les protocoles, les codecs et video et de streaming employe that is l'outil.

Enfin, dans la partie du chapitre, on presentera les cas p l'interphone movie IP ainsi que les points des diagrammes les situations que l'envoi, l'enregistrement et la conversation RTP, la party.

CHAPITRE 2: Specificites methods p l'interphone:

Loading, protocoles et diagrammes d'utilisation

Release

Ce chapitre, on virginia s'interesser aux requirements that are d'abord de la technologie VVoIP employes dans l'implementation p l'interphone movie IP market en precisant criteres de choix sur les protocoles RTP, UDP ainsi que les codecs G711 et MPEG 4.

Puis, on passera a la description du du loading et les atouts Gstreamer pour ce projet.

La fin de ce chapitre portera sur la conception p l'interphone movie IP. Pour cela, on elaborera les diagrammes des cas d'utilisation et pour scenario party, envoi, conversation stage a point.

La V2IPet choix de ses requirements

Principe

La figure 4 ci dessous presente en clair les differents components p bottom intervenant dans une software de voix et video sur IP comme dans notre cas p l'interphone movie IP:

On remarque que le principe de la V2IP peutetre application dans les etapes suivantes:

  • Le sign expressive et video orient capte depuis des equipements audio.
  • Ce sign ainsi numerise est scribe au moyen des codecs et selon des algorithmes de-compression bien definis
  • Le sign encode orient fragmente en des paquets de afin sur le ou remote, transfer use.
  • P l'autre round, un client suitable V2IP se cost dans l'ordre p: transformation numerique, depaquetage du flux media UDP decodage / analogique et l'affichage sur l'ecran LCD.

Avantages de la V2IPdans la visiophonie

Avec un bottom sur l'IP de possibilites aux utilisateurs. Ainsi, l'interphone movie IP offre des avantages qui sont les suivants:

Reduction des coûts

Par example via l'interphone movie IP, en utilisant la technologie de la V2IP place du reseau RTC 'Reseau Telephonique Travel', l'utilisateur peut reduire les communication telephonique en particulier ou internationales. P maniere plus easy, la conversation entre utilisateurs pourrait reduire leurs that are V2IP communication entre 60.

Facilite de l'utilisation

L'utilisation ne necessite aucun branchement telephonique separe necessaire puisque dans une software V2IP on connecte seulement le materiel au interface reseau regular qui est le RJ45 dans le cas p l'interphone movie IP.

P plus, contrairement an un phone classique, le materiel suitable voix sur IP peut rester avec son utilisateur et seulement on the besoin connexion reseau plus de mobilite.

Deploiement des fonctions de telephonie avancees

La V2IP integre a component une gestion de la voix et de la video, des purposes et des solutions touchant le domaine du Triple Play(voix, donnees et video) commeVoice email, press to call et la messagerie instantanee.

Requirements de la V2IP: protocoles

Dans une conversation level Voix et Movie sur IP, deux etapes importantes interviennent:

  • une premiere etape de negotiation et etablissement de la discussion audiovisuelle
  • Une deuxieme etape de transfer du flux media et echange datagrammes presentant les donnees sur le reseau Ethernet, tels que la et la movie.

Dans notre cas actuel, cette conversation se fait en temps reel et de set some (interphone -interphone). Les protocoles correspondent a deux etapes sont en general par les signalisation' part, et 'protocoles de donnees' ou 'protocoles conditions reel' part.

Notre etude, on abordera p meme les atouts et les criteres de choix on virginia s'interesser aux protocoles de signalisation et de transfer uses dans l'implementation p l'interphone movie IP et pour les protocoles drink, UDP.

Le protocole de signalisation drink: demonstration et criteres de choix

Principe du protocole SIP

Le protocole drink, 'Session Initiation Process', est un protocole de stage a place appartenant a la software du modele OSI comme dans la amount ci dessous.

Il utilise par defaut le port de conversation 5060. Boy rôle est d'ouvrir that is primary, modifier pour du flux des utilisateurs. L'ouverture de ces classes permet entre autres de transmettre le flux media et sa diffusion sur le reseau IP au moyen d'un outil de streaming.

Fonctionnement de drink

Le protocole drink intervient durant les differentes phases p l'appel. En effet, il se charge p:

  • Authentification des utilisateurs
  • La localisation des multiples individuals et terminaux
  • L'analyse du profil et des ressources du destinataire
  • La negociation des types de press echanges (voix, movie et donnees) et des parametres de conversation
  • La disponibilite du correspondent c'est-a-dire illinois decide si le poste appele souhaite communiquer et autoriser l'appelant a le contacter
  • L'etablissement et le suivi de l'appel: illinois avertit les parties appele et appelant de la demande d'ouverture p program, gestion du transfert et de fermeture de la session

La mise en location p drink repose sur 3 components:

  • User-Agent (UA): est un component ultimate p l'architecture drink, constitue d'un Useragent Customer (UAC) et d'un Broker Host (UAS): phones drink, softphones, PDA, passerelles drink, interphone movie IP
  • Registrar Server: serveur par les Customers Brokers that are gerant les requetes pour signaler leur emplacement courant sur le reseau. Ces requetes une adresse IP et le port de conversation qui seront stockes dans une base donnees.
  • Intermediaire entre deux Customers Brokers qui ne pas leurs adresses IP.

Les protocoles de donnees UDP et RTP

Le protocole UDP

Le protocole UDP, ou 'User Datagram Protocol', est un protocole en style low connecte un money optimum mais' non fiable'.

En fait, UDP n'inspecte pas les pertes des paquets a la reception. Si une software a besoin de ces garanties, elle doit faire appel au protocole RTP (Real Time Transport Protocol), ou bien tout simplement utiliser TCP.

Puisque UDP est generalement use par des applications de diffusion media (audio et movie) pour lesquelles le temps requis par TCP pour gerer les retransmissions et l'ordonnancement des paquets n'est pas disponible, on the opte pour ce protocole de transfer market en le dependent avec le protocole RTP.

Le protocole RTP

RTP (Real Time Transport Protocol), est un protocole bottom sur IP fournissant un assistance pour le transport des donnees en temps reel entre le customer recevant le flux et un serveur de streaming. Les services fournis RTP constant dans la recognition de pertes, la renovation temporelle, la et l'identification du contenu.

De RTP fournit des solutions de round en round pour des purposes qui un temps reel comme l'audio et la qui est le cas p l'interphone movie IP that is fun.

Illinois necessite le assistance des couches les plus basses qui ont le contrôle sur les ressources materielles et logicielles les routeurs. Il typiquement au dessus qui permet that is d'udp le et le checksum.

Il faut souligner que le RTP orient unidirectionnel donc il est economique au niveau des ressources reseaux.

Les codecs audio et movie: demonstration et criteres de choix

Choix du codec de

Dans cette partie, on virginia s'appuyer dans etude, pour le choix sur la comparaison entre les deux codecs de parole les plus uses dans le domaine de la VoIP qui sont le G.711 et le G.729, du audio approprie.

Display de G.711

Lecodec de parole G.711se classe une norme de-compression audio - .

La norme an ete liberee pour une utilisation en 1972 et la derniere modification date p l'an 2000.Son nom officiel est la modulation level impulsions codees (PCM).

Ses caracteristiques sont les suivantes:

  • Frequence d'echantillonnage: 8000Hzpour une bande passante de parole 300 et 3400Hz
  • Bande passante: 64 kbit/s
  • Sort de codage: MIKE (Modulation d'impulsion codee, PCM en anglais)
  • Quantification: demonstration de chaque echantillon sur 8-bits

Le principe de G711 repose sur une grille quantification non lineaire, qui a put la diminution du rapport sign that is rôle a bruit 'RSB' p l'erreur p quantification pour les sons de.

Il existe deux types legerement differentes:

  • µ-regulation, principalement use en Amerique du Nord
  • A-regulation, en use dans.

Display de G.729

La recommandation UIT-TG.729definit G729 comme un codage de la parole a-8 kbit/s level forecast lineaire excitation level sequences codees [ .

Le fonctionne an un money p 8 kbit s et de 11 kbit/s pour une mauvaise.

Choix de G711 pour le cas de l'interphone movie IP

Le choix du codec de parole est un compromis entre la de l'infrastructure du reseau employe en ce qui concerne la bande passante.

Mean Functional Rating. Le tableau suivant releve une comparaison au niveau du rating MOS bande passante entre les 2 codecs G711 et G729.

Choix du video MPEG 4

Display de la norme MPEG4

La norme MPEG4 (ISO/CEI 14496) est une norme de codage audiovisuel designee par le Going Picture Experts Team, MPEG, comite developpant aussi les normes MPEG1 et MPEG2.

D'abord, la MPEG 4 an ete conçue pour gerer le contenu de scenes un ou plusieurs objets et video that is audio. Contrairement a la norme MPEG2 qui concerne simplement des uses lies a la television numerique, les usages p MPEG4 joignent toutes les nouvelles applications multimedias comme le telechargement et le loading sur Internet, la video cell, la radio IP, les jeux video et la tv.

Criteres de choix pour le mpeg 4

Video IP se base that is L'interphone sur les shows de la plateforme utilisee chez Texas Instruments: TMS320DM355. Cette carte d'evaluation embarque un coprocesseur MJCP, put MPEG-4-JPEG Co Processor, qui offre non seulement une speed materielle pour la video MPEG-4 et pour les photos JPEG, mais aussi des shows equivalentes an un DSP fonctionnant A - 400 MHz.

Puisque ce coprocesseur understand une speed d'encodage et de decodage de la movie avec le codec MPEG 4 SD A - 30 pictures par seconde, notre choix a porte sur l'utilisation de ce type p codec put l'encodage depuis la camera et le decodage juste avant l'affichage sur l'ecran.

Le Loading: base de movie IP that is l'interphone

Principe et fonctionnement

Le streaming est comme un procede de de donnees sous flux regulier en anglais 'Flow' , d'où. Il permet ainsi de diffuser des contenus multimedia et ceci sans solliciter les ressources materielles de de l'utilisateur comme son disque dur.

Le mecanisme de streaming peutetre simplement presente par ces etapes:

  • La resource des donnees envoie le flux movie ou qui peutetre capte depuis des devices analogiques ou simplement un fichier movie ou audio de qui seront traitees au fur.
  • l'envoi du flux necessite un protocole de transfer comme le RTP qui manipule l'UDP
  • Les paquets pas constamment dans le bon rangement an underlying cause des variations du reseau. D'où, on use une memoire tampon ou barrier pour rassembler les dans le bon ordre. Tampon ou barrier est cree par le lecteur marketing p l'ordinateur p l'utilisateur.
  • Apres un conditions that are certain minime, une fois que le buffer p party remove d'assez d'informations, le du flux media declenche et d'affichage ou le 'participant' dans le courant permet d'afficher that is cas la ou l'audio that is movie.

Streaming: GSTREAMER

Display de Gstreamer

Gstreamer est un 'Construction' ou un canevas d'outils, c'est-a-dire un ensemble de bibliotheques et outils, dedie a la development d'applications p adjustment de flux media. Ce package de composants logiciels d'ecrire n'importe quelle software ayant besoin that is permet de manipuler des flux media. Comme la session des fichiers audio ou video, encodage, decodage, l'enregistrement dans des fichiers, diffusion sur UDP du press (audio, video)...

Toutes les basent sur le idea d"un pipe' se sous ligne de commande où la fonction est reliee a l'entree p et dans lequel press that is l'autre de vers la sortie, passe une path bien definie.

Software media is d'uned by La conception des pipelines facilite l'implementation de type de indication en continu.

GStreamer fournit une afin de manipuler tout sort p structure normalement, p plus pour lequel il un plugin integre dans les bibliotheques de Gstreamer. Ainsi, les developpeurs n'ont pas besoin de s'inquieter de la mise en Å?uvre des decodeurs, des melangeurs, p synchronisation, ni des codecs, ils peuvent se concentrer uniquement sur les factors a joindre dans un seul pipe.

Gstreamer est write:

  • d'une framework logicielle axee sur un cÅ?ur (Gstreamer Primary) et de nombreux plugins (plus p 150 pour la version 0.10) dont les principaux sont 'gst-plugins-great', 'gst-plugins-poor' et 'gst-plugins-ugly'.
  • D'API pour le des components p Gstreamer, tels avecle assistance de nombreux langages, que les codecs les multiplexeurs.
  • d'outilsde assessments et d'execution dont la plus importante est 'gst-start', p paperwork (gst-examine).

Fonctionnement de GStreamer

Afin d'expliquer le la number 9 [ 5 ] presente un de pipe ainsi que son schema bloc. Ce pipe permet la pitch d'un fichier TS, en effet Transport Flow, nomme 'video.ts'. Par la collection, on 'Typefind' qui detectera le sort de press transitant. La sortie de ce dernier est directement an un demultiplexeur 'mpeg2ts' qui se chargera de la decomposition durante 2 flux audio et movie qui seront traites.

D'une le flux movie est, component dans une document d'attente ou line that is mis pour ensuite decode et sur le pilote d'affichage video defaut.

Picture:gstreamer_example_pipeline.jpgD'autre component, on l'affecte, en ce qui concerne l'audio an une document d'attente, puis on le decode et avant vers le pilote de la carte boy 'ALSA', on the eu recours a regler le size.

Criteres de choix de Gstreamer put IP to l'interphone movie

Nous avons opte pour l'utilisation p l'outil p streaming. Parmi lesquelles, on cite:

  • A ses differentes implementations plusieurs langages de programmation, les peuvent desormais des nouveaux plugins.
  • Illinois guarantee a travers les pipelines la synchronisation entre l'audio et la movie
  • Comme il supporte les protocoles drink et H323 il peut etre une option p streaming music et video en temps reel, et le protocole RTP.
  • Gstreamer est le 1er Construction mix-gather et adapte aux processeurs integrant des cÅ?urs p form ARM9. En fait, le moteur de codecs ou 'Codec Motor' existing sur la carte comprend divers segments p decodeurs audio et movie qui sont ensuite adaptes aux composants des pipelines p Gstreamer pour creer des differentes programs audiovisuelles sur des cartes d'evaluation de chez Texas Instruments comme la DM355.
  • L'existence du plugin 'Gst-ti-dmai' qui an ete developpe specialement pour les plateformes TI put s'interfacer avec le DMAI ou 'Davinci Media Software Software' le but d'implementer une software embarquee et lightweight sur des processeurs Davinci. Ceci constitue le benefice le plus essential put l'implementation p l'application p loading put la TMS320DM355 to l'interphone movie IP sur.

Pregnancy de l'interphone movie IP diagrammes d'utilisation

Les cas d'utilisation p video that is l'interphone IP

Video IP une multitude de fonctionnalites il integre a la fois le systeme de photo numerique et la communication audiovisuelle stage a place sur IP.

En effet, il permet de:

  • Un appel video fonction permet a l'utilisateur de un sur reseau IP that is video apres avoir musician le numero du correspondant.
  • Terminer un appel video permet de raccrocher.
  • Accepter un video: l'utilisateur peut a cette accepter une invitation conversation level voix.
  • Defiler les photos en style diaporama: Permet de visualiser en boucle une serie d'images an ailment que la memoire soit presente. La relation doit etre utilisee pour mettre en reduction le fait que le defilement des photos ne peut faire que lorsque la memoire existe.
  • Defiler les photos en mode manuel: dans ce cas d'utilisation, l'utilisateur orient amene a les pictures manuellement via la ou le clavier de l'interphone movie IP that is infrarouge. Cette fonction fait egalement appel a la confirmation de la existence de la.
  • Ecouter la musique: elle de lire la musique et faire des breaks lors de la session. La situation d'enclenchement est carte qui contient les audio en format MP3.
  • Visualiser des files PDF: la confirmation de la carte memoire faite avant market.
  • Configurer les parametres du systeme: Cette fonction permet a l'utilisateur de configurer l'heure et la day, le reveil, la langue des selections, le delai de defilement et le sort p change et defilement entre les pictures
  • Utiliser le reveil : IP permet l'utilisation configurable.

D'une façon generale, le diagramme de cas d'utilisation sert a simuler les situations d'interactions fonctionnelles dans lesquels les acteurs utilisent le an etudier. Ce diagramme vise donc an identifier les utilisateurs potentiels du systeme boasts leurs besoins sans presente des options au niveau de l'implementation [4].

Les components p base d'un diagramme des cas d'utilisations sont:

  • Les acteurs: un acteur est toute qui interagit avec le systeme.
  • Il peut etre un operateur ou un autre systeme. Dans notre cas l'operateur est seul acteur.
  • Use-case: outfit d'actions qui de although decrivent le systeme. Ces actions sont realisees par le systeme, en response an une motion p l'acteur.
  • Les associations entre les differents cas d'utilisations

Dans le diagramme de cas precedent, on the fait recours a deux associations et qui sont:

  • La connection est une connection utilisee entre deux cas d'utilisation pour signaler le fait que la realisation d'un cas d'utilisation necessite la realisation de la fonction de l'autre. Dans notre cas de diagramme, la realisation des fonctions de defilement des photos, p session des pistes audio et de visualisation des files PDF passe level l'execution de la fonction de confirmation de la existence de la carte memoire contenant normalement le press necessaire: des fichiers MP3, des images JPEG et des documents PDF.
  • La connection est une connection qui reclame la affirmation de la situation presentee entre les deux cas d'utilisation. La fonction de confirmation de la memoire ne fait recours, Dans notre cas number au balayage de cette carte que si la situation p existence est validee.

Schema de principe de l'interphone video

En ce fonctionnalites pour la sur le projet existent that is visiophonie du cadre photo numerique.

Donc le schema de principe de la number 10 seulement aux elements de la communication audiovisuelle stage a place via le protocole drink ainsi que l'aspect de du flux media sur le reseau IP selon method de streaming.

A titre de remarque, la stage a place de la voix et la sur le reseau IP n'est realisee que si les authentifies that is 2 customers sont sur le serveur drink et la conversation level drink est etablie.

Les diagrammes des video IP

Situation p l'envoi

Ce situation permet de capturer un flux movie ou sound a partir des peripheriques comme le microphone ou la camera et de l'envoyer that is d'entree vers une machine distante.

Dans ce cas, les lignes de-vie seront presentees par:

  • Component 'Seize'
  • Component 'encodage'
  • Component 'loading-envoi'
  • Device 'receptrice'

On presente le situation p l'envoi du flux media par le diagramme de series p la number 11:

Le diagramme de series p la number 10 decrit l'interaction entre les differents components p loading lors p flux media. En effet, ce situation begin par la seize des donnees de voix et de la video. L'element d'encodage fait le chargement des donnees et au codeur that is l'appel approprie. Si le module p l'envoi du flux media est energetic, ce dernier flux sur UDP that is calm venant vers une machine distante apres encapsulation RTP. Il faut remarquer que la diffusion flux ne depend pas equipment receptrice distante puisque meme si cette derniere n'est pas a du tube de party, l'envoi du flux est toujours understand.

Situation p party

Ce situation decrit la stage p party du flux calm depuis une device emettrice distante et d'affichage des donnees decodees.

On utilisera dans ce cas comme les lignes de-vie:

  • la equipment emettrice
  • Component 'loading-party'
  • Component 'decodage'
  • Component 'Affichage'

Le diagramme de series p la number 12 decrit durante specifics le situation de party.

Situation d'enregistrement avec authentification

Ce situation decrit la stage pour la communication audiovisuelle stage a place qui est l'enregistrement aupres d'un Registrar drink Server parametres necessaires pour de qui est en common le final ou dans notre cas l'interphone movie IP to l'authentification.

Depuis le precedent, on notice que la stage d'enregistrement est realisee un customer et un serveur Registrar. Cet enregistrement est base sur les reponses du serveur Registrar et les requetes drink dont la principale est le concept 'REGISTER'.

Remarque, la response UNAUTHORIZED du serveur vers le consumer demande a ce dernier de fournir ses coordonnees. D'où la 2eme requete ENROLL est envoyee.

Situation de conversation RTP via serveur

La figure situation typique d'une conversation drink that is 14 presente le entre 2 customers dans les communications movie et gerees par le protocole RTP par le qui jouera le lui-meme d'un User-Agent. En effet, les etapes sont comme suit:

  1. Market le consumer 1 devrait inviter le consumer 2 pour un donc il va envoyer une demande au serveur that are ASK.
  2. Ce dernier repond le consumer 1 un concept p 100 Attempting qui signifie que cette demande ASK est.
  3. Le serveur prend la releve put delivrer une demande ASK au 2eme customer appele
  4. Le customer 2 reçoit la demande ASK, il begin a sonner puis il traite l'invitation et revoie un concept CALLING p sonnerie au serveur
  5. Concept 180 is led by lorsque le serveur drink reçoit.
  6. Lorsque le client2 decroche pour accepter audiovisuel, illinois un concept that is enverra 200 pour le serveur.
  7. Ce dernier retransmet le meme a l'appelant that is concept 200 OK.
  8. Ce dernier comprend que boy request par la collection il, an acceptee par l'appele envoie un concept ACK au serveur pour une verification conclusive.
  9. Le serveur guarantee le client2 que la verification est faite par un concept ACK
  10. Les deux parties amenees an etablir la conversation en voix. Le serveur are transited via by Le flux RTP. Il ne faut pas oublier que le transfert des donnees est guarantee p loading et non pas to level l'outil.
  11. Pour terminer l'appel, par exemple client1, il envoie une demande BYE au serveur.
  12. Apres party p BYE au customer.
  13. Quand la demande est reçue, le customer enverra un concept that is 2eme 200 au serveur.
  14. Apres la party du concept okay depuis les deux parties sont pretes pour fin a la connection video IP, le serveur.

Situation de conversation RTP point a place

Dans ce situation de conversation RTP point a place, Ce qui est ajoute par rapport au situation precedent c'est que le serveur envoie a chaque final un 2eme messageINVITEdans lequel la partie de explanation des periods indique les adresses IP des terminaux, dans le but de modifier le chemin effectif des trames RTP.

Summary

Durant ce chapitre, on the clarifie les choix dans l'implementation p l'interphone movie IP. D'une component sur le protocole de signalisation, Ces choix ont porte principalement drink et les protocoles de donnees UDP et RTP qui facilitent une software p visiophonie en temps reel.

Basee sur des criteres comme le rating MOS et sur les shows equipment presentes sur la DM355.

On the aussi exact les cas d'utilisation p l'interphone movie IP puis on focalise sur les diagrammes des differents situations.

Specifics p l'environnement p check materiel et logiciel

Specificites p l'environnement p check materiel

Vue generale de l'environnement p check

Les outils et les methodes d'interconnexion entre la equipment hôte et la carte DM355

Les types de liaisons et echange de donnees:

Dans cette partie, on va essayer de speaker les outils et les methods l'interconnexion entre la logicielle et la partie materielle that is permettant.

Puisque le principe de l'implementation p l'interphone movie IP de base sur l'embarquement des applications de loading et de conversation drink sur la DM355, deux liaisons sont mises en Å?uvre:

  • une contact serie entre la equipment hôte et la carte cible sert pour la setup de chargeur de demarrage (le bootloader) de la carte cible. Ainsi, la carte peut charger child noyau Linux embarque a partir du serveur TFTP, ou Insignificant FTP, et elle contacte le systeme de fichier a partir du serveur NFS (Circle Filesystem) de la equipment hôte.
  • une contact Ethernet plus rapide est utilisee une fois le 'bootloader' manage. Le bootloader carte supporte le telechargement des fichiers contact Ethernet. Pourquoi, il inclut un customer that is C'est TFTP [11].

Cross collection

P stage de vue architecture processeur, il existe une distinction entre la carte a base de processeur Davinci et la machine processeur Intel.

Par le compilateur de PC is compiled by ne nous permet pas d'executer des courses.

P plus ressources materielles de la carte, on ne peut pas compiler directement sur la plateforme.

Dans ce cas, il nous faut specialist une chaine collection croisee ou compilateur that is mix. En fait compilateur croise est un qui permet compiler des courses de maniere a faire marcher sur une carte cible dotee d'un processeur dissemblable de celui de l'hôte.

Nous avons fait recours au, ce projet mix-compilateur speciale pour des structure SUPPLY qui est le 'arm_v5t_le-gcc'.

Demonstration de la partie materielle

Dans cette partie, on virginia enumerer les differentes materielles utilisees dans le developpement et examination p l'application p l'interphone movie IP that is ressources.

P stage de vue materiel, on the use pour le examination et approval du loading bidirectionnel et de la conversation drink:

  • 2 segments p chez Texas Devices, d'evaluation Davinci TMS320DM355 216 Mhz, a foundation d'ARM9.
  • 2 equipes du systeme d'exploitation Linux open-source 'Ubuntu'.
  • Webcam DVD comme resources movie.
  • 2 Microphones.
  • 2 TV LCD.
  • Un switcher/centre
  • Commande infrarouge pour la plateforme EVM DM355

Carte d'evaluation TMS320DM355

Display

Le module d'evaluation EVM TMS320DM355 (analysis Module) est une dish-forme de qui permet aux utilisateurs d'evaluer et de developper des applications p kind media pour les processeurs DM355 de chez Texas Instruments [].

Ce package d'evaluation TMS320DM355 est constitue de plusieurs peripheriques destines put etre programmes et video.

On the choisit d'implementer les options p loading et de conversation drink sur la carte TMS320DM355 qui contient principalement:

  • Un processeur Davinci DM355 bottom sur le cÅ?ur ARM926EJ-S - A 216 MHz et contient:       ARM Subsystem (ARSS): sous-systeme SUPPLY         Video Running SubSystem VPSS: sous-systeme de visuel         Coprocesseur MPEG JEPEG Co Processor
  • Memoire display NAND 2 Move
  • Memoire Memory DDR2128 Mo
  • Contact serie RS232
  • horloge de surveillance 64bit
  • EEPROM SPI
  • Un signal master/servant (I2C)
  • Software Hardware
  • Software commande infrarouge
  • Chargeur de demarrage configurable
  • Meal / sortie Audio et movie
  • Software Ethernet put RJ45
  • Lecteur de carte memoire SD/MMC
  • Codec music AIC33
  • 3 UARTs (UART rapide avec RTS et CTS contrôle p flux)
  • Connecteur JTAG
  • Meal d'horloge en cristal ou externe (typiquement 24MHz ou 36MHz)
  • 104 bornes de GPIO (entree-sortie d'usage universel)
  • 4 sorties PWM
  • 4 sorties de RTO (conditions reel dehors)
  • Chargeur-amorce de ROM p BRAS p Sur-Morceau (RBL) soit initialise du display low-et, du MMC/SD, ou de l'UART.
  • Generateurs a horloge flexibles de PLL

Parmi toutes les composantes de la carte d'evaluation EVM coprocesseur MJCP nous interesse le mieux that is DM355.

Nous visons durant l'implementation du loading via l'outil Gstreamer de profiter de cet materiel afin de liberer le processeur SUPPLY that is accelerateur pour se charger d'autres tâches durante paralleles comme les processus de traitement de la voix et la commande infrarouge.

C'est pour cela, nous allons aborder une description.

Coprocesseur MJCP

Le plus essential dans le fonctionnement de l'interphone movie IP et en particulier au niveau du traitement de la video MPEG 4.

En fait coprocesseur' MPEG JEPEG Co Processor' d'un DSP fonctionnant A - 400 MHz. Ce dernier permet l'acceleration p l'encodage et decodage MPEG en 30 images seconde ainsi que le codage des photos JPEG a-50 mega-pixels par seconde.

P meme -systeme de traitement movie VPSS de que.

Depuis la number XX, il est clair que le coprocesseur MJCP est en relation directe avec le DMA dont le peripherique responsable de la plateforme DM355 orient l'EDMA, (Improved DMA), pour pouvoir gerer l'acceleration materielle via le VPSS.

Specificites p l'environnement p check logiciel

L'implementation de notre answer embarquee sur la carte DM355 necessite une multitude de solutions logicielles telles que:

  • Linux Monta vista Pro-5 avec noyau linux 2.6 et LSP 'Linux Support Offer' an integrer dans le noyau de la carte
  • Le kit de developpement 'Davinci Software Development Package', DVSDK
  • Bibliotheques Gstreamer 0.10
  • Plugin Texas Instruments put Gstreamer 'Gst-ti-dmai'
  • Serveur Asterisk
  • Librairies Osip2 et Exosip2

Les drivers ALSA

Pour pouvoir mettre en marche le streaming music et video manipuler les individuals de la carte son. C'est pourquoi nous avons utilise les individuals:

  • Est un composant du noyau Linux, aLSA Sophisticated Linux Sound Structure, destine a manipuler la carte son. Les objectifs initiaux de ce composant comportent la des cartes son et le assistance aise de cartes son dans le systeme.
  • V4L2, put Movie for Linux 2, est une software p seize de la movie disponible dans le noyau Linux et plusieurs types that are suitable avec camera et des recepteurs. On va par la collection utiliser le peripherique /dev/video0 pour effectuer la capture et le peripherique /dev/video2 put l'affichage.

DVSDK

On the eu l'occasion p cross compiler et de modifier le signal resource de ce kit de developpement logiciel pour la video numerique (Digital-Video improvement Package).

Ce DVSDK nous a permis de developper les programs multimedias et de les porter sur le processeur Davinci that is facilement.

En effet, ce package renferme:

  • U-trunk: le chargeur d'amorçage put l'OS
  • Codec Engine: ce Construction fournit un collection d'APIs pour les codecs multimedia, connus sous xDM, eXpressDSP Digital Media leurs executions sur l'ARM ou le coprocesseur. P plus, le Codec Motor est utilise put instancier et executer des algorithmes xDAIS (eXpressDSP formula interoperability standard).
  • L'interface DMAI: permet le developpement des purposes portables et compatibles avec plusieurs OS.
  • Des codecs multimedia des librairies pour les codecs et des clips movie et sound pour le check par exemple du decodage te codage.
  • Des presentations: pour visualiser et specialist les traitements possibles par le processeur Davinci comme le codage et le decodage audio.

Plugin TI gstreamer

Gstreamer peut s'interfacer avec le DMAI 'DaVinci Media Software Software' via des plugins ou des greffons, dans notre cas appele 'gst-ti- plug-in that is dmai', afin d'implementer des purposes portables sur des plateformes DaVinci de chez Texas Instruments.

La amount XX pour mieux expliquer le fonctionnement du plugin TI gstreamer.

En effet, il utilise le DMAI pour acceder aux accelerateurs TI equipment puisque le DMAI est une couche qui se trouve au dessus de systeme d'exploitation (linux) et du CodecEngine afin d'ecrire des purposes portables sur les differentes plateformes Davinci avec un minimum de changement.

Librairies osip

Afin de pouvoir implementer le protocole drink comme protocole de entre les 2 cartes DM355, on the fait recours aux 2 librairies Osip et eXosip dans leur edition that is 2eme.

En fait, la Osip est une bin du protocole drink sous license LGPL. C'est le resultat du projet oSIP understand par Aymeric Moizard.

Il faut noter qu'elle est une execution p 'bas-niveau' du protocole drink.

Pour mettre en Å?uvre le protocole drink plus simplement via des APIs, on the use la bibliotheque eXosip, ou eXtended osip, qui est une solution optimale pour l'utilisation d'Osip.

Les etapes de l'implementation p l'interphone movie IP

Planning p l'environnement p check

Puisque l'application p l'interphonie movie IP orient l'extension du projet du cadre photo numerique, on n'a pas ete amene a preparer la carte cible depuis le introduction:

  • Collection du noyau Linux
  • Mise en Å?uvre du systeme de fichier par NFS
  • Reglage des factors d'environnement put U-trunk
  • Mix-collection du DVSDK sur la carte TMS320DM355

Au cours de quality de certaines de realisation, Mais, nous avons fait experience a recompiler le DVSDK et le noyau Linux version 2.6.

Pour plus p specifics concernant les etapes p planning p l'environnement de travail, se referer a XX.

Execution du loading entre 2 computers

Dans cette partie.

Pour ce faire, on the eu recours a plusieurs etapes:

  • Installation p Gstreamer depuis les resources
  • Confirmation des codecs et components disponibles sur Computer
  • Utilisation des pipelines put envoi et party p l'audio et la movie
  • Assessments p l'envoi et la party

Collection p Gstreamer sur PC:

Dans cette nous avons eu recours a la collection de la derniere version de la Construction Gstreamer dans sa edition 0.10.25 sur l'OS Ubuntu depôts that is 8.01 depuis les officiels.

Ce canevas d'outils se base sur des librairies et extensions externes dernieres ont ete telechargees depuis les sites appropries.

Pour ce faire, nous avons installe les extensions et librairies suivants:

  • gstreamer0.10-plugins-good : Ce paquet renferme les greffons 'great' p Gstreamer, un ensemble de greffons de bonne qualite sous license LGPL.
  • gstreamer0.10-plugins-poor

Gstreamer Poor plugins est un ensemble de plugins qui ne sont pas optimales par rapport au reste des extensions Gstreamer.La qualite n'est pas aussi bonne, et ils manquent a ces extensions que ce soit une bonne modification de-code, p la paperwork, une serie detests, ou une significant utilisation actuelle.

  • gstreamer0.10-plugins-poor-multiverse

Depuis les depôts multiverse pour les paquets low libres

  • gstreamer0.10-plugins-base

C'est un ensemble de extensions repairs, couvrant un large eventail de kinds d'elements, qui sont continuellement mis a jour avec les changements de base au cours des developpements de l'outil Gstreamer.

  • gstreamer0.10-plugins-unpleasant

Un ensemble de plugins qui sont de bonne qualite et de fonctionnalite correcte, mais la submission entre eux pourrait poser des problemes. Le signal resource ce plugin 'unpleasant' peutetre connu pour speaker des problemes de brevets.

  • gstreamer0.10-plugins-unpleasant-multiverse

La variation du "unpleasant" depuis les depôts officiels maintenus par la communaute.

  • gstreamer0.10-ffmpeg :

Ce plugin GStreamer supporte un grand nombre de-compression des types audio et video Formats bibliotheque FFmpeg.Il contient 40 encodeurs put differents platforms comme MPEG, DivX et-plus que 90 decodeurs par exemple put (AVI, MPEG, OGG, ASF,...), ainsi que des demultiplexeurs, et des convertisseurs de palette.

La compilation greffons Gstreamer precedents seront describes et detailles dans.

Confirmation des aspects p Gstreamer installes

La commande 'GST-EXAMINE' montre la description des extensions GStreamer et des aspects qui sont installes sur la equipment, sinon une erreur se produit vehicle une software basee sur GStreamer ne peut pas trouver uncertain aspect qui est utilise par exemple pour decoder un fichier MPEG4.

Ainsi verifier et lister les extensions et les differents codecs et components Gstreamer installes use la commande 'gst-examine' sans reasons.

Check du loading entre 2-PC

Pour ce faire on the un component d'envoi du flux audio et video et un component p party et d'affichage that is understand.

Level manque de documentation sur les regles et la façon d'enchainement des components p Gstreamer dans un pipe, on virginia speaker d'abord les schemas en blocs des segments d'envoi et de party pour clarifier l'utilisation des components dans les pipelines et l'acheminement du flux media depuis la source jusqu'a l'affichage.

On precisera les facts de chaque component use dans ces pipelines.

Les tests ont porte component sur le loading d'autre component sur la flux media, a partir d'un fichier movie ou sound depuis camera ou un microphone.

A titre de remarque, on the les pipelines d'envoi et de party premierement en (localhost) et puis on the understand le loading entre 2 computers connectes sur un.

Loading de la movie:

Depuis un fichier video check

Schema blocs du loading de la movie:

Les pipelines p streaming:

Pour le streaming movie

Depuis une cam, seulement pipe d'envoi change puisque la resource du flux la meme. La supply devient l'element p catch depuis le pilote 'Movie for linux' edition 2, v4l2src:

Pour le loading Sound:

Loading en nearby:

Dans ce cas de number, on alter seulement la propriete 'sponsor' p l'element 'udpsink' d'envoi sur UDP et on affecte l'adresse IP de la equipment location ou simplement localhost comme suit:

Host=192.168.14.46

Explanation des components des pipelines:

Gst-start: la cle p Gstreamer qui permet de construire un pipe. On the use l'option '-v' ou '--verbose' pour afficher les informations sur l'etat de sortie

V4l2src: factor de seize des photos depuis l'interface Movie for Linux 2

Videotestsrc: source de flux movie check

Ffenc_mpeg4: encodeur video de la librairie FFMPEG suitable MPEG 4 component 2

Ffdec_mpeg4: decodeur video de la librairie FFMPEG suitable MPEG4-part2

Rtpmp4vpay: encapsuler le flux movie MPEG 4 dans des paquets RTP

Rtpmp4vdepay: removal de la video MPEG 4 depuis les paquets RTP

Udpsink: envoi des paquets reseaux sur UDP. On the fait recours dans notre cas de loading aux proprietes 'port' et 'sponsor' pour definir le port et l'adresse IP location.

Party is poured des by udpsrc: component paquets UDP sur le reseau. On the concatene a cet aspect les capacites 'hats' flux movie reçu.

Alawenc: encodeur de A-regulation: la variation europeenne de G711. Il PCM 16 bits durante A-regulation 8-bits.

Alawdec: Decodeur parole A-regulation. Illinois convertit A-regulation sur 8 bits en PCM 16-bits.

Quantity: element du volume du flux sound.

Resultats

Execution du loading entre 2 cartes DM355

Mix collection p gst dmai

Le streaming music et movie bidirectionnel, depuis les webcams est realise succes en et entre deux ordinateurs connectes sur le meme local, et les microphones. La qualite aperçue a la party de la voix et la movie est jugee tres bonne.

Check et approval du loading sur la carte TMS320DM355:

Mix-collection du plugin TI: 'GST-TI-DMAI'

Cette partie presente la stage la interessante dans la realisation du projet puisque touche directement le domaine de la microelectronique et de programmation destinee put l'embarque.

Il est apparent que la variation p Gstreamer, qu'on a le check precedent du loading entre 2-PC, ne pas etre appropriate avec la DAVINCI utilisee.

Comme il existe un plugin Gstreamer 'Gst-ti-dmai plugin' destine put etre implemente sur les cartes d'evaluation TI Davinci, nous avons recours an integrer ce greffon sur la carte TMS320DM355 au moyen de la mix-collection pour manipuler les pipelines p loading depuis la carte.

En fait, ce paquet contient les composants de base et open source necessaires pour generer et executer GStreamer sur notre carte d'evaluation DM355, ainsi qu'un plugin qui permet aux components p Gstreamer p s'interfacer directement avec le DMAI (Davinci Media Software Software), et donc le 'Codec Motor' present sur la carte.

La mix-collection du plugin TI Gstreamer, qui peutetre telecharge depuis officiels ou le site officiel de TI, sur la Davinci DM355 est effectuee a des lignes de commande. Les etapes de mix-collection p Gstreamer sur la DM355 detaillees dans.

De la cross-collection du plugin TI Gstreamer, nous sommes amenes an utiliser le cross-compilateur 'supply-v5t-le' sur la et-plus precisement avec l'OS Monta Vista Pro-5. P plus, la collection de ce plugin sur la carte a fait appel au:

  • DVSDK edition 2_00_00_22 present sur la equipment hôte
  • Paquet 'pkg-config-0.18' qui est un outil d'assistance use lors de la collection des librairies.
  • Paquet 'bend-2.5.35': analyseur de uses comme meal dans la arrangement et la collection des.

Confirmation p Gstreamer sur la plateforme Davinci:

Avant de pouvoir manipuler les components Gstreamer sur la il faut configurer la, carte d'evaluation.

Pour ce sommes amenes an initialiser les segments appropries du noyau pour la plateforme DM355 dans. En effet sous le collection /opt/gstreamer_demo/ dm355.

Ce dernier est un software executable permettant de charger les segments:

  • 'cmem.ko': pilote de memoire pour percentage system de la memoire contigüe dans le noyau Linux pour les programs SUPPLY
  • 'dsplinkk.ko': requis pour les applications.

Pour mieux eclaircir notre façon pour allouer la memoire Memory, il faut speaker la CMEM, 'Continuous Memory Allocator'. Cette est une API et une pour gerer les blocs de memoire system contigüe. Memoire est utile pour des buffers that are l'allocation et des tampons pour les donnees qui seront partages avec l'accelerateur materiel MJCP existing sur la DM355.

Dans notre cas de number, la memoire Memory disponible est p 128 Mo. On The alloue des blocs de memoires contigües de taille totale 48 Mo qui sera consacree pour les factors p Gstreamer tels que les codeurs et les decodeurs movie MPEG 4 et le pilote d'affichage. Le reste de la memoire sera employe pour programs Linux utilisant le Kernel.

Ainsi, la confirmation des components installes sur la carte d'evaluation EVM DM355 peut etre faite a l'aide de la commande 'gst-inspect'.La number suivante montre le resultat de l'execution de cette commande et devoile un nombre de extensions et de pour les.............

NUMBER

Ce qui nous s'interesse le plus apres la cross-collection du plugin TI Gstreamer, c'est les components TI comportant les encodeurs et les decodeurs TI:

  • TIAudenc1: TI xDM 1.x Audio Encoder
  • TIAuddec1: TI xDM 1.x Audio Decoder
  • TIAuddec: TI xDM 0.9 Audio Decoder
  • TIImgdec: TI xDM 0.9 Picture Decoder
  • TIImgdec1: TI xDM 1.0 Picture Decoder
  • TIImgenc: TI xDM 0.9 Picture Encoder
  • TIImgenc1: TI xDM 1.0 Picture Encoder
  • TIViddec2: TI xDM 1.2 Video Decoder
  • TIViddec: TI xDM 0.9 Video Decoder
  • TIVidenc: TI xDM 0.9 Video Encoder
  • TIVidenc1: TI xDM 1.x Video Encoder

Ces differents components possedent 2 parametres en commun:

'engineName': specifie l'engine use (decode ou encode)

'codecName': exact le nom p codec use (il doit etre un codec TI)

Mise en Å?uvre du loading sur la carte TMS320DM355en nearby:

Le schema bloc du streaming movie entre cartes:

Pour la movie:

Audio

Ensuite, on the teste la du flux audio et movie entre les 2 plateformes Davinci. Le seul changement au niveau des pipelines Gstreamer est au niveau de la propriete 'sponsor' p l'element d'envoi sur UDP 'udpsink'. On l'affecte a l'adresse IP de la equipment destinataire.

Explanation des components p Gstreamer employes:

Les pipelines p streaming music et movie entre les cartes d'evaluation ont fait aux codecs that are DM355 developpes Texas Instruments et d'autres elements filtrage et affichage.

  • TIViddec2: decodeur TI du flux movie utilisant l'interface XDM 1.2.

Dans le pipe p party, on the use un decodage de la video mpeg4 an un money p 20 pictures par seconde (framerate).

  • TIVidenc1: encodeur TI utilisant l'interface XDM 1.x. Dans notre cas, on the utilise le codec mpeg4 A - 20 pictures par seconde et an un money p 500 Kbits/s.
  • Dmaiperf: component Gstreamer permettant de capter les performances du pipe et precisement le cost processor et le money use.
  • TIDmaiVideoSink: Component TI pour. On the use dans ce projet la movie de la DM355 depuis le pilote d'affichage /dev/ video2 le standard friend.
  • alsasrc: lecteur depuis la carte child via le pilote ALSA. La seize de la voix synthetisee, notre projet depuis un microphone de taille 2 Ko de memoire tampon ou barrier p seize audio de duree egale a 180 ms.
  • Alsasink: permet du flux audio decode en PCM 16bits vers la carte child via le pilote ALSA pour ecoute en des hauts parleurs a la audio de la carte d'evaluation DM355.

Resultatsde loading entre cartes:

Concernant le streaming music et video entre les 2 cartes TMS320DM355 et la synchronisation entre la voix et la video est appropriate.

Dans le cas du streaming entre les 2 plateformes connectees a travers le reseau IP une qualite appropriate a la party mais un peu de entre la et la movie.

Il faut noter que le streaming demande beaucoup de ressources de memoire et de processor. Apres des modifications et des modifications au niveau des proprietes des components Gstreamer, qui seront plus detaillees dans la area..........(difficultes et options)

Le loading bidirectionnel use a peu pres des performances du processor that is 90 PERCENT pour carte.

Realisation de la conversation drink

Apres check et approval du loading bidirectionnel entre les 2 cartes d'evaluation DM355, malgre la contrainte de la surcharge du processor, on passe maintenant a la manipulation des APIs des librairies Osip2 et EXosip2 put l'implementation des classes de conversation level voix et movie entre les 2 cartes Davinci.

Installation et setting du serveur Asterisk

Dans cette partie du projet, on orient amene a compiler le serveur Asterisk qui sera le serveur customers, sur la equipment hôte.

P plus, il n'etait pas facile et insignificant p configurer des la initial , d'une component l'enregistrement des customers that are sensitive ou les 'friends' dans la base donnees, et d'autre component les echanges des capacites et les communications drink entre les 2 customers en interaction.

Pour cela, nous avons eu recours.

Ainsi que les etapes de collection d'Asterisk, Ces specifics, seront developpes dans l'annexe 6.

Installation des librairies OSip2 et EXosip2

Une fois le streaming est Davinci, on maintenant a connexion drink entre ces 2 customers.

Pour ce avons recours aux APIs disponibles depuis les librairies libosip2 et libeXosip2.

Les specifics p collection des librairies libosip2 et feront l'objet de 5.

API uses

Avant d'entamer cette partie detailed des APIs utilisees a signaler que nous visons an etablir des classes de communications drink avec echange du flux media stage a place sans passer par le serveur ASTERISK.

Davinci lies a Gstreamer qui se chargera apres l'etablissement p conversation drink de la diffusion des flux RTP entre les 2 cartes.

En fait, Gstreamer est un outil de loading stage a point impossible that is serait de gerer le flux RTP component entre le top client et le serveur Asterisk that is d'une .

Le situation de conversation drink avec echange du flux RTP, Ainsi stage a place nous interesse dans ce projet.

Pour mieux representer les APIs uses lors du test de la conversation entre les Davinci to 2 cartes le suivant market en precisant leurs fonctions dans la conversation drink entre les 2 customers.

Fonction souhaitee

API use

Initialisation de la bibliotheque eXosip et ecoute des sockets reseaux

eXosip_init

eXosip_listen_addr

Enregistrement avec authentification aupres du serveur Asterisk

eXosip_register_build_initial_register

eXosip_add_authentication_info

eXosip_register_send_register

Request pour commencer une conversation: ASK

eXosip_call_send_initial_invite

eXosip_call_send_initial_invite

Envoi d'un concept SDP indiquant les coordonnees et capacites du customer

osip_message_set_body

osip_message_set_content_type

Envoi d'une response 200 OK

eXosip_call_send_answer en precisant le sort p concept 200

Sign de sonorisation CALLING

eXosip_call_send_answer en precisant 180 comme concept

Response par un acquittement

eXosip_call_build_ack

eXosip_call_send_ack

Terminer Program drink: envoi requete BYE

eXosip_call_terminate

Seize et lecture des informations depuis le concept SDP reçu

Pour notre cas, on the essaye d'extraire le concept SDP ainsi que les locations uses et l'adresse IP:

eXosip_get_remote_sdp sdp_message_c_addr_get

sdp_message_m_port_get

Verrouillage de la bibliotheque eXosip level semaphore

eXosip_lock

eXosip_unlock

Gerer automatiquement les etats dans la conversation drink et renouvellement automatique des requetes d'invitation et d'enregistrement

eXosip_automatic_action

Put plus p specifics sur les fonctions workers dans le tableau, se referer a l'annexe 6.

Resultat de examination pour la conversation drink

Pour valider le bon fonctionnement du situation de la conversation drink entre Davinci, on the use le logiciel d'analyse des paquets reseaux 'Wireshark'[].

Pour la stage d'enregistrement, la number XX represente les differents communications SIP entre le serveur Asterisk, affecte a l'adresse IP '192.168.14.36', et un des customers d'adresse '192.168.14.45'.

La figure suivante presente l'analyse des communications drink permettant d'une conversation drink that is l'etablissement entre les customers d'adresses IP '192.168.14.45' et '192.168.14.46'.

Incorporation du loading dans les periods drink

Cette presente le mariage p par l'outil Gstreamer et la communication en drink that is loading. Elle processus fils.

En fait, une fois l'invitation orient acceptee par l'appele et apres la party p l'acquittement signifiant que le customer destinataire la diffusion du flux de la video et de la, a decroche voix begin en et stage a place entre les 2 customers. Est assuree bien les pipelines et de party that is d'envoi, qu'on a deja presentes dans la part XX.

Resultat p l'integration du loading stage a place dans les communications drink:

Difficultes rencontrees et options proposees:

Durant la realisation de ce contraintes et de kind materiels se devoiles.

Put y remedier, on the depense de temps a manipuler le signal resource des librairies et a des professionnels ITTIAM [], head mondial dans le developpement des codecs pour les systemes embarques.

Nous allons speaker dans cette simultanement les rencontrees dans le examination et la affirmation p Gstreamer et de la conversation SIP que les options qu'on a proposees.

Probleme et answer du decodeur mpeg4pour TI:

Durant la cycle de streaming movie entre les 2 cartes et sur la carte Davinci decodeur TI that are meme pour la movie 'TIViddec2' n'arrive pas a decoder flux en mpeg4 depuis le reseau IP that is reçu.

Nous n'avons pas eu la de resoudre ce probleme apres contacter les ingenieurs de chez Texas Instruments et les boards des developpeurs Gstreamer.

La answer etait de voir de pres les differents components p Gstreamer et analyser leurs proprietes. Apres plusieurs tentatives contrainte de.

En le decodeur mpeg4 p TI ne reçoit pas les bonnes designs concernant le flux movie reçu. Put remedier a ce probleme capacites dans les paquets RTP est obtenu en modifiant la propriete 'deliver-config=true' au niveau de l'element d'encapsulation RTP 'rtpmp4vpay'.

Apres l'appreciation de option de la portion des developpeurs TI, nous avons eu poster sur la page officielle du wiki p l'entreprise Texas Instruments [].

Probleme et answer de surcharge de la processor de la DM355

Le streaming music et movie entre les plateformes Davinci a surcharge de la processor that is essential.

Les options de ce probleme de surcharge de la processor sont, en fait au de deux.

Seulement le codage et le decodage p l'audio, D'une component consomment a peu pres de la processor puisque il n'existe aucun component TI destine that is 95% pour le de l'audio sur la DM355 en boy accelerateur materiel. D'autre part traitement de la movie prend une grande partie dans les ressources disponibles de la processor environ 98PERCENT pour le et le decodage mpeg4.

Pour palier au probleme de l'audio, on the eu recours a deux etapes:

  • Puisque les codecs TI disponibles dans le plugin TI Gstreamer ne contiennent aucun codec de parole destine put notre plateforme DM355, on the essaye
      d'integrer le codec A-regulation dans la mix-collection du plugin 'gst-ti-dmai'.
  • On the pu reconfigurer les parametres 'alsasrc' p record via ALSA depuis la carte son. En fait, apres modification du signal supply du plugin TI Gstreamer, on the fixe la catch depuis la carte son en PCM 16-bits, echantillonne a-8 KHz et en mono.

Concernant le traitement de la video mpeg4, illinois s'aperçoit quel'utilsation intense de la processor est liee a:

  • L'element TI put de la pas manage par defaut de telle que l'encodage movie use l'accelerateur equipment disponible dans le DM355 et emploie des tampons de memoires venant supply movie delivrant des that is façon buffers contigus.
  • Par p GStreamer 'TIDmaiVideoSink' n'est pas en mesure de s'interfacer avec le component 'Framecopy' materiel ou DMA de la DM355.
  • Le money d'encodage pour la par defaut s, est un peu eleve put des photos that are l'encodage venant du pilote V4L2.

En vue de palier a ces contraintes a manipuler certaines proprietes des components p Gstreamer employes dans les pipelines put le loading de la movie.

Les changements sont les suivants:

  • On the manage l'encodeur TIVidenc1 pour utiliser le component 'Framecopy' p l'accelerateur D-MA et utiliser le copiage du buffer en amont vers les buffers circulaires (circular buffer). D'où, on the pressure l'utilisation des blocs de memoire level service de la propriete 'contiguousInputFrame' p l'element 'TIVidenc1'. P plus , record via le pilote 'v4l2' doit delivrer contigus en la propriete 'usually-backup' a 'fake'.
  • On the change le parametre 'accelFrameCopy' a 'correct' afin de permettre l'utilisation du component 'framecopy' p l'accelerateur materiel DMA par l'element d'affichage ''TIDmaiVideoSink'
  • Le money put l'encodeur mpeg4 est fixe dorenavant a 500 Kbits/s

Probleme de streaming movie entre Computer et carte DM355

La problem vient du fait que le loading de la video du Computer vers la carte d'evaluation EVM DM355 se bloque au niveau du decodage du flux mpeg 4 mais le cas contraire (carte vers Computer hôte) est fonctionnel.

En fait, les celui de TI Gstreamer pour le mpeg4 et l'autre, 2 codecs codec de la librairie FFMPEG presente sur la equipment hôte, ne pas compatibles.

Probleme et answer de restoration des coordonnees des customers

Dans la partie de la realisation de la conversation drink, on n'a pas pu recuperer l'adresse IP et les locations de transmission des clients de la procedure drink. Cette contrainte an ete resolue par la configuration du serveur Asterisk de telle maniere que le serveur une 2eme ASK that is requete aux 2 customers juste apres l'acceptation p l'invitation a commencer une session drink. SDP contenant les coordonnees des customers ainsi que les types de press echanges is corrected by requete contiendra les communications.

P stage vue programmation, on orient amene an activer la propriete 'canreinvite' fichier de setup 'sip.conf' du serveur Asterisk.

Autre difficultes:

Durant l'implementation de la option p loading stage a place level Gstreamer et la collection des librairies osip et eXosip, on the fait experience, non seulement aux problemes de compatibilite avec les librairies existantes sur la equipment hôte, mais aussi aux contraintes de l'integration de deux pipelines Gstreamer dans un seul pipe.

Put ces librairies that are remedier a ça, on the installe depuis les paquets open-source telechargeables depuis les sites Web. P plus, on the use chaque pipe a component, en ce qui concerne les pipelines Gstreamer.

Summary

Au cours de ce chapitre, nous avons qui repose principalement sur la TMS320DM355, par detailler l'environnement materiel check. Boy stage ft etait l'embarquement du coprocesseur MJCP, l'accelerateur equipment de la movie.

Par la nous avons, collection aborde les differents solutions logicielles check, b includes le plugin TI put et les piles du protocole drink, Osip to Gstreamer.

La partie suivante an ete consacree pour les differentes phases p test p loading, soit les PCs . Ces tests ont ete valides et le streaming est fonctionnel.

Ensuite, on the fait les tests sur l'etablissement des classes drink. Apres succes de etape, on the pris le temps d'integrer le loading stage a place dans les communications drink.

La derniere partie de ce chapitre a sur les remedes a difficultes rencontrees dont la importante est la surcharge de la processor.

Research wireshark: http://www.wireshark.org/

Research ITTIAM: http://www.ittiam.com/

Research wiki TI: http://processors.wiki.ti.com/index.php/Example_GStreamer_Pipelines