rapport de stage pfe mpeg dash
TRANSCRIPT
-
7/24/2019 Rapport de Stage PFE MPEG DASH
1/75
Rf : AU : 2012-2013
Universit de
Sousse
Ecole Nationale dIngnieurs deSousse
Mmoire de Projet de Find'tudes
Prsent en vue de lobtention du diplmed
Ingnieur en Gnie Informatique Applique
Soutenu Devant le jury
Soutenu le 29/06/2013 devant les jurys
Prsident : Monsieur BEN ARBIA AnisRapporteur: Madame SADDI NajlaEncadreur :Monsieur KHAYATI Naoufel,ENISoEncadreur :Monsieur JERBI Aymen, TELNETEncadreur :Monsieur BEN GHAZI Lassaad, TELNET
@OUSSAMA2013
Option : Ingnieriedes
Systmes distribusRalisation Dun
Android MPEG DASH Player
Ralis par :
Hadj Ali Oussama
Option : Ingnierie des Systmes Distribus
-
7/24/2019 Rapport de Stage PFE MPEG DASH
2/75
Android MPEG DASH Player
Page 1
Rsum
Au cours des dernires annes, lInternet est devenu un canal important pour la
distribution des donnes multimdias principalement via le protocole HTTP. Plusieurs
protocoles de streaming intelligents se sont bass sur le protocole HTTP pour aboutir un
streaming fluide et de qualit optimale. Parmi ces protocoles il y a le dernier et la nouvelle
norme internationale MPEG DASH.
La socit tunisienne TELNET, en tant que socit innovatrice et leader technologique, a bien
estim le potentiel de ce protocole de streaming et elle a dcid de concevoir une application
Android permettant la lecture de contenu multimdia diffus via le protocole MPEG DASH
Lapplication doit permettre le streaming de vidos par ce protocole dans un systme Android
ainsi que le dploiement dun algorithme de dcision contrlant la qualit de diffusion au
cours de Streamingpermettant dobtenir la meilleure qualit possible.
Mots-cls: Streaming, MPEG DASH, Android, multimdia, HTTP, Adaptivit, Qualit
-
7/24/2019 Rapport de Stage PFE MPEG DASH
3/75
Android MPEG DASH Player
Page 2
Abstract
In recent years, the Internet has become an important channel for the distribution of
multimedia data primarily via HTTP. Several intelligent streaming protocols were based on
the HTTP protocol to achieve a fluid streaming and optimal quality. One of these protocols is
the last and the new international standard MPEG DASH.
The Tunisian company TELNET, as an innovator and technology leader realized the potential
of the streaming protocol and decided to design an Android application for playing
multimedia content broadcast via MPEG DASH protocol
The application must allow streaming of videos using this protocol in an Android system as
well as the deployment of a decision algorithm controlling broadcast quality during streaming
to obtain the best possible quality.
Keywords: Streaming MPEG DASH, Adaptivity, multimedia, HTTP, Quality
-
7/24/2019 Rapport de Stage PFE MPEG DASH
4/75
Android MPEG DASH Player
Page 3
.HTTP
HTTP
MPEG DASH .
.
.
.
.
:
,,,,
-
7/24/2019 Rapport de Stage PFE MPEG DASH
5/75
Android MPEG DASH Player
Page 4
Remerciements
Nous souhaitons que cette page du prsent document puisse exprimer tous nos sincres
sentiments de reconnaissance et de remerciements que nous adressons tous ceux qui ont
contribu ou aid, de prs ou de loin, raliser ce travail.
Nous tenons exprimer toute notre immense gratitude Mr. JERBI Aymen et Mr. BEN
GHAZI Lassaad, nos minents encadreurs la respectable socit TELNET, pour leur dispo-
nibilit, leurs directives et leurs prcieux conseils qu'ils nous ont prodigus.
Nous saisissons cette occasion pour remercier vivement notre encadreur monsieurKHAYATI Naoufel, matre assistant lEcole Nationale dIngnieurs de Sousse ENISO, pour
son soutien continu, ses remarques pertinentes, ses conseils constructifs et inpuisables quil
nous a fournis et surtout la motivation soutenue quil nous a inculqus tout au long de la p-
riode de ltude du projet pour amener bon port ce travail.
Nous exprimons notre profonde reconnaissance tout le staff administratif et tout le corps
enseignant de l ENISO pour la qualit de la formation qu'ils nous ont donne durant les
trois annes d'tudes.
Nous souhaitons aussi adresser nos sincres salutations nos collgues et amis qui nontjamais hsit nous encourager et nous apporter leurs infinis soutiens.
Enfin et avec plein de respect, nous tenons prsenter les plus forts remerciements tous les
membres du jury qui ont bien voulu accepter dvaluer notre modeste travail.
-
7/24/2019 Rapport de Stage PFE MPEG DASH
6/75
Android MPEG DASH Player
Page 5
Table des matiresIntroduction Gnrale ............................................................................................................................ 10
Chapitre 1 : Prsentation et contexte du projet ..................................................................................... 13
1.1 Prsentation de lorganisme daccueil................................................................................. 13
1.2. Contexte du projet et Objectifs ........................................................................................... 16
1.2.1 Problmatique ............................................................................................................... 16
1.2.2 Objectifs ....................................................................................................................... 18
Chapitre 2 : Etat de lart du Streaming................................................................................................. 20
2.1 Streaming traditionnel ......................................................................................................... 20
2.1.1 Real-Time Transport Protocol (RTP) ........................................................................... 20
2.1.2 Real-Time Streaming Protocol (RTSP) ........................................................................ 21
2.2 Le Streaming progressif ..................................................................................................... 21
2.3 Le streaming adaptatif ......................................................................................................... 21
2.3.1 Transcodage .................................................................................................................. 22
2.3.2 Encodage volutif ......................................................................................................... 22
2.3.3 Commutation de contenu (Stream switching) .............................................................. 23
2.4 Streaming adaptatif bas sur HTTP ..................................................................................... 24
2.4.1 Le HTTP Live Streaming (HLS) dApple.................................................................... 25
2.4.2 Le Microsoft's Live Smooth Streaming (LSS) ............................................................. 26
2.4.3 Le HTTP Dynamic Streaming dAdobe....................................................................... 26
Chapitre 3 : Le protocole MPEG DASH : prsentation et tude de lexistant..................................... 27
3.1 Spcifications du protocole MPEG-DASH ......................................................................... 27
3.1.1 Prsentation du protocole ............................................................................................ 27
3.1.2 Chronologie de dveloppement .................................................................................... 27
3.1.3 Mcanisme de fonctionnement ..................................................................................... 28
3.1.4 Avantages du protocole MPEG DASH ........................................................................ 31
3.2 Etude de lexistant............................................................................................................... 31
3.2.1 Helix DNA Client ......................................................................................................... 32
3.2.2 La librairie Libdash ..................................................................................................... 32
3.2.3 Gstreamer : DASHbin et le plugin gstdashdemux ........................................................ 32
Chapitre 4 Analyse et spcification des besoins ................................................................................... 34
4.1 Besoins en Architecture ....................................................................................................... 34
4.2 Expression des besoins ........................................................................................................ 35
4.2.1 Besoins Fonctionnels .................................................................................................... 35
4.2.2 Besoins non fonctionnels .............................................................................................. 354.3 Diagramme des cas dutilisation......................................................................................... 35
-
7/24/2019 Rapport de Stage PFE MPEG DASH
7/75
Android MPEG DASH Player
Page 6
4.3.1 Identification des acteurs .............................................................................................. 35
4.3.2 Liste des cas dutilisation............................................................................................. 35
4.3.3 Modlisation ................................................................................................................. 36
4.4 Description des cas dutilisation.......................................................................................... 37
4.5 Diagramme de squences .................................................................................................... 38
Chapitre 5 La phase Conception du Android MPEG DASH Player .................................................... 40
5.1 Architecture globale du systme ......................................................................................... 40
5.2 Conception dtaille ............................................................................................................ 42
5.2.1 Architecture physique ................................................................................................... 42
5.2.2 Architecture Logique .................................................................................................... 43
5.2.3 Diagrammes de classes ................................................................................................. 44
Chapitre 6 Ralisation de lapplication Android MPEG DASH Player................................................ 47
6.1 Environnement de travail .................................................................................................... 47
6.1.1 Environnement matriel ............................................................................................... 47
6.1.2 Environnement Logiciel ............................................................................................... 48
6.2 Dmarche de ralisation de lAndroid MPEG DASH Player.............................................. 49
6.2.1 Compilation de la librairie Libdash pour lenvironnement Android ICS de la carte TI
AM335x................................................................................................................................. 49
6.2.2 Ralisation de la partie Dash Streaming Control.......................................................... 51
6.2.3 La logique dadaptation: Algorithme de dcision pour le choix de la qualit destreaming ............................................................................................................................... 51
6.2.4 Phase de dcodage ........................................................................................................ 54
6.2.5 Ralisation de la couche accs aux flux ...................................................................... 54
6.2.6 Phase de visualisation ................................................................................................... 55
6.3 Tests et rsultats exprimentaux .......................................................................................... 56
Conclusion gnrale .............................................................................................................................. 62
Bibliographie ......................................................................................................................................... 64
Glossaire ................................................................................................................................................ 65
Annexe A : Structure dun fichier MPD................................................................................................ 66
Annexe B : Architecture du systme dexploitation Android.............................................................. 69
Annexe C:Procdure de mise en place de lenvironnement Android sur la carte TI AM335xevm ...... 73
-
7/24/2019 Rapport de Stage PFE MPEG DASH
8/75
Android MPEG DASH Player
Page 7
Liste des tableaux
Tableau 1 Description du cas d'utilisation Arrter le streaming............................................................ 37
Tableau 2 Description du cas d'utilisation Passer en mode dadaptation automatique......................... 37
Tableau 3 Description du cas d'utilisation Visualiser une vido en mode plein cran.......................... 37
Tableau 4 Description du cas d'utilisation Passer une suprieure/infrieure rsolution vido........... 38
Tableau 5 Caractristiques de l'environnement de travail..................................................................... 47
Tableau 6 Caractristiques de la Carte TI AM335x evm...................................................................... 48
Tableau 7 Emulation de l'algorithme de dcision.................................................................................. 60Tableau 8 Analyse de la structure d'un fichier MPD............................................................................. 68
Tableau 9 Les noyaux linux utiliss par Android.................................................................................. 72
-
7/24/2019 Rapport de Stage PFE MPEG DASH
9/75
Android MPEG DASH Player
Page 8
Liste des figures
Figure 1 Trafic Internet envisag pour les prochaines annes tri par types des terminaux [Net1]...... 10
Figure 2 Estimation du type de trafic internet des Smartphones trie par type d'activit [Net1].......... 11
Figure 3 Logo de TELNET [Net 2]....................................................................................................... 13
Figure 4 Organigramme de TELNET.................................................................................................... 15
Figure 5 Schma simplifi du streaming adaptatif [Net3]..................................................................... 17
Figure 6 Les ventes mondiales de Smartphones tries par systme dexploitation............................... 17
Figure 7 Approche du transcodage pour le streaming adaptatif [Net3]................................................. 22
Figure 8 Approche de l'encodage volutif............................................................................................. 23
Figure 9 Approche du Stream switching pour le streaming adaptatif [Net3]........................................ 23Figure 10 Exemple illustrant la commutation de Stream dans le temps................................................ 24
Figure 11 Communication client-serveur dans le cadre d'un streaming adaptatif................................. 25
Figure 12 Chronologie du dveloppement du standard MPEG DASH................................................. 27
Figure 13 Schma d'illustration du contenu d'un fichier MPD.............................................................. 29
Figure 14 Exemple d'un fichier MPD.................................................................................................... 29
Figure 15 Communication client-serveur dans le cadre du protocole MPEG-DASH........................... 30
Figure 16 Illustration du changement de la qualit des segments tlchargs selon la variation de la
bande passante....................................................................................................................................... 31
Figure 17 Architecture d'un systme de streaming MPEG-DASH....................................................... 34
Figure 18 Diagramme de cas d'utilisation global.................................................................................. 36
Figure 19 Diagramme de squence d'un scnario d'utilisation du MPEG DASH Player...................... 39
Figure 20 Architecture globale du systme de streaming en utilisant Libdash[Net5]........................... 41
Figure 21 Diagramme de dploiement du systme............................................................................... 42
Figure 22 Modlisation de l'architecture logique du Android MPEG-DASH Player........................... 43
Figure 23 Diagramme de classe du DASH Streaming Control............................................................. 44
Figure 24 Diagramme de classes du Android Media Player................................................................. 46
Figure 25 Carte d'essai TI AM335x evm [Net7]................................................................................... 48
Figure 26 Modlisation de la dmarche adopte pour la ralisation du Android MPEG DASH Player49
Figure 27 Couche librairies de l'architecture du systme Android gnr............................................ 50Figure 28 Modlisation de la structure du buffer de lecture.................................................................. 53
Figure 29 Ecran d'attente....................................................................................................................... 56
Figure 30 Fentre principale de l'application Android MPEG-DASH Player....................................... 56
Figure 31 Vido en cours de lecture avec playlist couverte.................................................................. 57
Figure 32 Illustrations des diffrentes fonctionnalits disponibles pour le contrle manuel de la
qualit.................................................................................................................................................... 57
Figure 33 Illustration du changement de la qualit d'image automatique............................................. 58
Figure 34 Illustration de passage d'une vido une autre dans la playlist............................................ 59
Figure 35 Structure d'un fichier MPD................................................................................................... 66
Figure 36 Architecture du systme d'exploitation Android................................................................... 69Figure 37 La couche Application de l'architecture du SE Android....................................................... 69
http://c/Users/oussama064/Documents/Rapport_Stage_Pfe%20v2..1.docx%23_Toc359152249http://c/Users/oussama064/Documents/Rapport_Stage_Pfe%20v2..1.docx%23_Toc359152249http://c/Users/oussama064/Documents/Rapport_Stage_Pfe%20v2..1.docx%23_Toc359152252http://c/Users/oussama064/Documents/Rapport_Stage_Pfe%20v2..1.docx%23_Toc359152252http://c/Users/oussama064/Documents/Rapport_Stage_Pfe%20v2..1.docx%23_Toc359152253http://c/Users/oussama064/Documents/Rapport_Stage_Pfe%20v2..1.docx%23_Toc359152253http://c/Users/oussama064/Documents/Rapport_Stage_Pfe%20v2..1.docx%23_Toc359152256http://c/Users/oussama064/Documents/Rapport_Stage_Pfe%20v2..1.docx%23_Toc359152256http://c/Users/oussama064/Documents/Rapport_Stage_Pfe%20v2..1.docx%23_Toc359152257http://c/Users/oussama064/Documents/Rapport_Stage_Pfe%20v2..1.docx%23_Toc359152257http://c/Users/oussama064/Documents/Rapport_Stage_Pfe%20v2..1.docx%23_Toc359152267http://c/Users/oussama064/Documents/Rapport_Stage_Pfe%20v2..1.docx%23_Toc359152267http://c/Users/oussama064/Documents/Rapport_Stage_Pfe%20v2..1.docx%23_Toc359152271http://c/Users/oussama064/Documents/Rapport_Stage_Pfe%20v2..1.docx%23_Toc359152271http://c/Users/oussama064/Documents/Rapport_Stage_Pfe%20v2..1.docx%23_Toc359152273http://c/Users/oussama064/Documents/Rapport_Stage_Pfe%20v2..1.docx%23_Toc359152273http://c/Users/oussama064/Documents/Rapport_Stage_Pfe%20v2..1.docx%23_Toc359152278http://c/Users/oussama064/Documents/Rapport_Stage_Pfe%20v2..1.docx%23_Toc359152278http://c/Users/oussama064/Documents/Rapport_Stage_Pfe%20v2..1.docx%23_Toc359152278http://c/Users/oussama064/Documents/Rapport_Stage_Pfe%20v2..1.docx%23_Toc359152273http://c/Users/oussama064/Documents/Rapport_Stage_Pfe%20v2..1.docx%23_Toc359152271http://c/Users/oussama064/Documents/Rapport_Stage_Pfe%20v2..1.docx%23_Toc359152267http://c/Users/oussama064/Documents/Rapport_Stage_Pfe%20v2..1.docx%23_Toc359152257http://c/Users/oussama064/Documents/Rapport_Stage_Pfe%20v2..1.docx%23_Toc359152256http://c/Users/oussama064/Documents/Rapport_Stage_Pfe%20v2..1.docx%23_Toc359152253http://c/Users/oussama064/Documents/Rapport_Stage_Pfe%20v2..1.docx%23_Toc359152252http://c/Users/oussama064/Documents/Rapport_Stage_Pfe%20v2..1.docx%23_Toc359152249 -
7/24/2019 Rapport de Stage PFE MPEG DASH
10/75
Android MPEG DASH Player
Page 9
Figure 38 La couche Framework de l'architecture du SE Android....................................................... 70
Figure 39 La couche des Librairies de l'architecture du SE Android.................................................... 70
Figure 40 La couche Android Runtime de l'architecture du SE Android.............................................. 71
-
7/24/2019 Rapport de Stage PFE MPEG DASH
11/75
Android MPEG DASH Player
Page 10
Introduction Gnrale
Aujourdhui, le streaming est une technologie trs populaire par laquelle le contenu
multimdia est dlivr en continu partir d'un serveur de streaming des utilisateurs finaux.
Les mthodes de diffusion sont en amlioration continue afin de se conformer aux
capacits du rseau et aux scnarios d'utilisation qui sont htrognes. Ainsi la cration de
techniques qui fournissent automatiquement la meilleure qualit possible aux consommateurs
est devenue un objectif capital et un enjeu important.
Des tudes rcentes ont montr la croissance en nombre et surtout la diversit de
dispositifs d'utilisateur final. Ces dernires annes, les Smartphones sont devenus
immensment populaires. En effet ils ont t considrablement amliors dune anne
lautre, pour offrir des services Internet utilisant des connexions sans fil et large bande. Les
Smartphones prsentent aussi des fonctionnalits similaires aux ordinateurs modernes, ils sontquips de systmes d'exploitation plus sophistiqus que ceux des tlphones cellulaires
ordinaires. Les Smartphones permettent ainsi l'installation d'applications tierces.
La figure 1 illustre les prvisions pour les prochaines annes en termes de trafic rseau, ce
qui annonce une prochaine augmentation considrable du trafic mobile (estim reprsenter
les 26,6% du trafic total du rseau en 2015 et 67.5% du trafic en 2017).
Figure 1 Trafic Internet envisag pour les prochaines annes tri par types des terminaux [Net1]
Les donnes vido sont clairement devenues le principal type de contenu transfr par les
applications mobiles. Comme le montre la figure 2, le trafic vido va crotre de faon
exponentielle dans les prochaines annes.
-
7/24/2019 Rapport de Stage PFE MPEG DASH
12/75
Android MPEG DASH Player
Page 11
Figure 2 Estimation du type de trafic internet des Smartphones trie par type d'activit [Net1]
Avec la croissance du trafic de transfert de mdia via Smartphones et laugmentation
continue des capacits des rseaux internet, plusieurs fournisseurs de contenu multimdia sont
entrs en concurrence afin de crer la technique de streaming permettant dobtenir la
meilleure qualit de streaming possible, cest dans ce cadre quest apparu la notion destreaming adaptatif et dynamique. Le dernier en date de ces protocoles est le protocole
MPEG DASH. Ce protocole a le potentiel de devenir la norme dominante de diffusion de
mdia dominante pour les prochaines annes.
Cest dans ce cadre que se situe le sujet de notre projet de fin dtudes en vue dobtenir le
diplme dingnieur en informatique applique. Ce stage a t effectu pour une dure de
quatre mois et demie au sein de la socit TELNET.
Ce projet de fin dtudes a comme objectif principal la ralisation dun lecteur de contenu
multimdia pour le systme dexploitation mobile Android supportant le protocole MPEGDASH.
Tout au long de ce document qui sarticule autour de six chapitres, nous exposerons les
diffrentes tudes et tches ralises durant ce stage. Le premier chapitre sera consacr la
prsentation du contexte gnral et de la problmatique de notre projet.
Dans le deuxime chapitre, nous prsenterons une bauche dtude sur ltat de lart du
processus de streaming ainsi que lvolution qua connu ce processus.
Dans le troisime chapitre, les diffrentes caractristiques du protocole MPEG DASH
ainsi que les solutions disponibles sur le march et supportant ce protocole seront dtailles.
Dans le quatrime chapitre, nous prsenterons les tudes faites lors de la phase consacre
-
7/24/2019 Rapport de Stage PFE MPEG DASH
13/75
Android MPEG DASH Player
Page 12
lanalyse et la spcification des besoins. Le cinquime chapitre contiendra la description des
diffrentes tapes de conception de la solution propose.
Enfin, le dernier chapitre exposera la dmarche adopte dans la phase de ralisation ainsi que
les rsultats obtenus sa fin.
Le prsent rapport se terminera par une conclusion qui talera le bilan de ce stage tout en
prcisant les perspectives suscites par notre travail ainsi que les amliorations qui peuvent lui
tre apportes.
-
7/24/2019 Rapport de Stage PFE MPEG DASH
14/75
Android MPEG DASH Player
Page 13
Chapitre 1 :Prsentation et contexte du projet
Introduction
Dans ce chapitre, on prsentera en premier lieu la socit TELNET, lorganisme qui a bien
voulu nous accueillir en mettant notre disposition les moyens ncessaires au bon
droulement de ce stage.
La deuxime partie de ce chapitre sera consacre la prsentation de la problmatique qui
a pouss la socit TELNET proposer le sujet de projet de fin dtude expos dans le
prsent document.
La dernire partie de ce chapitre comportera une numration des diffrents objectifs fixs
pour le sujet du stage ainsi que la dmarche adopte pour la ralisation de ces objectifs.
1.1 Prsentation de lorganisme daccueil
Figure 3 Logo de TELNET [Net 2]
TELNET HOLDING(le logo de TELNET est reprsent dans la figure 3) est un groupe com-
pos de plusieurs filiales, bas sur linnovation et les hautes technologies.
Depuis sa cration en 1994, TELNET a ralis de nombreux projets et a cumul une grande
exprience et un savoir-faire unique dans ses diffrents domaines d'activits.
Le groupe est rput pour son savoir-faire, sa stabilit, son sens de l'thique et la valeur de
ses actionnaires.
Le 18 fvrier 2011, le conseil d'administration de la Bourse de Tunis a donn son accord pour
l'admission de TELNET Holding son march principal. Cette orientation stratgique a ga-
ranti et garantira dans le futur la bonne gouvernance du groupe, sa prennit et l'adhsion de
tous les collaborateurs au projet de faire de Telnet Holding une rfrence technologique au
niveau international.
Le groupe TELNET a pour vocation dtre une socit dingnieriecratrice de produits et de
solutions de haute technologie travers des partenariats forts avec des constructeurs et des
organismes internationaux de renom. Dans ce cadre le groupe Telnet a conclu dimportants
accords tels que :
Le premier accord est sign en 2006 avec le groupe SAFRAN (groupe aronautique
franais) et il consiste en une coopration industrielle entre les deux parties dans les
domaines de laronautique, de la scurit et des cartes puces.
-
7/24/2019 Rapport de Stage PFE MPEG DASH
15/75
Android MPEG DASH Player
Page 14
Deux ans aprs ce premier accord, les deux groupes Altran (groupe Franais) et TEL-NET leaders dans lingnierie ont sign un contrat de joint-venture permettant la
naissance de la socit Altran Telnet Corporation.
TELNET a sign des accords avec les groupes TEUCHOS, SAFRAN Aerospace Indiaet DASSAULT SYSTEMES.
Dans un souci de mieux se rapprocher de ses clients en Europe, le groupe TELNET a opt
pour un mode opratoire selon le modle Front office (France) / Back office (Tunisie).
1.1.1. Savoir-faire du groupe TELNET
La socit TELNET a obtenu une premire certification ISO 9001 version 2000 pour la
conception, le dveloppement et lintgration de produits logiciels dans le domaine des tech-
nologies de linformation.
Elle a obtenu une deuxime certification en 2006 et devient ainsi la premire entreprise
informatique en Tunisie, en Afrique et dans le monde Arabe ayant rejoint le cercle rduit des
entreprises informatiques adoptant le rfrentiel CMMI niveau 5 dans le monde.
Le centre de dveloppement de TELNET est le seul au niveau rgional tre certifi
CMMI niveau 5 et ISO 9001 version 2008. Ainsi, le groupe assure la scurit, la confidentia-
lit et la proprit intellectuelle de ses prestations.
Depuis 2010, TELNET est devenue membre de lIEEE " Institue of Electrical and ElectronicsEngineers".
Elle a aussi sign un accord de collaboration avec le Commissariat lEnergie atomique et aux Energies Alternatives (CEA).
1.1.2. Domaines dactivit de TELNETLe groupe TELNET vise tre parmi les premiers du monde dans linnovation et dans la
technologie et ce en essayant dtre un acteur de rfrence sur le plan national et international.
TELNET uvre dans les secteurs des:
Tlcommunications
Multimdia
Transport
Automobile
Dfense et Avionique Scurit
Montique et carte puce
Electronique
Industrie
Ingnierie Mcanique.
Systmes dinformation
Lvolution considrable de lentreprise et limportance quelle accorde au concept qualit,
lui ont permis de diversifier ses activits et dinnover dans diffrents domaines. Ces domaines
reprsentent des activits importantes et pour leur bonne gestion, Telnet leur a consacr des
dpartements.
-
7/24/2019 Rapport de Stage PFE MPEG DASH
16/75
Android MPEG DASH Player
Page 15
1.1.3. Organigramme de TELNETLes dpartements sont organiss de la manire prsente dans la figure 4
1.1.4. Aperu sur les missions de certains dpartements
a-Dpartement Systmes Electroniques : Ce dpartement est responsable de la conceptionet du design des systmes lectroniques qui seront par la suite tests et valids.
Ce dpartement comprend trois services:
Le service de lautomobile : o se ralise le dveloppement embarqu (tel que
celui des calculateurs moteurs), le test et la validation des travaux raliss ain-
si que le dveloppement des systmes de diagnostic automobile.
Le service de lautomatisation du design lectronique.
Le service de la CAO (Conception Assiste par Ordinateur) qui assure la con-
ception et le design lectronique.
b-Dpartement Rseaux et Tlcoms : La mission fondamentale de ce dpartement est deraliser les fonctions suivantes :
fournir des solutions dinterconnexion informatique et de tlcommunicationspour la mise
en place des rseaux dentreprises (LAN/WAN).raliser des projets en sous-traitance pour le compte de constructeurs Tlcoms.
actualiser les technologies de linformation.
maintenir techniquement la gestion et lexploitation des rseaux des entreprises.
c- Dpartement Etudes Logicielles : La mission de ce dpartement est la conception et ledveloppement de produits logiciels dans divers domaines dactivits savoir: les tlcom-
munications, les terminaux, la scurit et la dfense et les systmes spcifiques.
Ces activits sont assures grce la contribution de principaux services :
- Le service des technologies de linformation : au seinduquel se ralise le dveloppe-
ment pour la scurit et la dfense et les systmes spcifiques.
-
Le service des tlcoms et des terminaux : o seffectue le dveloppement des log i-ciels embarqus (commutateurs, routeurs, compteurs lectroniques).
Dpartement tudesLogicielles
Dpartement SystmesElectroniques
Dpartement Rseaux etTlcoms
Direction Marketing &Tlcom
Direction GnraleDirection Administrative etfinancire
Conseil Dadministration
Tlcom Multimdia IndustrieAutomobil
e
Montique& carte
puce
Dfense &Avionique
Systmedinformation
Scurit
Figure 4 Organigramme de TELNET
-
7/24/2019 Rapport de Stage PFE MPEG DASH
17/75
Android MPEG DASH Player
Page 16
Nous avons eu loccasion de raliser notreprojet de fin dtude au sein de ce dpartementet plus prcisment au sein de lquipe Multimdia.
Activit de lquipe Multimdia
Lquipe multimdia opredans le domaine grand public tels que les crans LCD/ DLP,
les dcodeurs IP, les rcepteurs et les imprimantes photo et dans le domaine bilatral avec les
oprateurs particuliers par les encodeurs CBR/VBR, les multiplexeurs, les modulateurs ou
encore les serveurs vido.
1.2. Contexte du projet et Objectifs
1.2.1 Problmatique
L'immense varit de dispositifs d'utilisateurs finaux oprant sous rseaux mobiles
htrognes a conduit un dfi intressant: produire une technique d'adaptation dynamique et
automatise entre producteurs et consommateurs, pour offrir la meilleure qualit possible de
contenu. Plusieurs contraintes sont prsentes dans le processus de diffusion de contenu ou
streaming, telles que les fluctuations des bandes passantes de rseau ou des propres capacits
du client. Par exemple, les dispositifs d'utilisateurs finaux peuvent tre limits par la
rsolution d'affichage, par le dbit binaire (bit rate), ou par les formats de mdias pris en
charge.
La figure 5 ci-dessous illustre l'adaptation pour des clients similaires qui connaissentdiffrentes limitations dans le rseau de communication, et donc diffrente quantit de
donnes transmises par unit de temps ces diffrents clients.
Dans ce contexte, le streaming adaptatif reprsente une famille de techniques qui abordent
le problme de la diffrence dans les donnes fournies des clients diffrents. Par le biais du
contenu multimdia en couches et les mcanismes d'adaptation, les utilisateurs finaux peuvent
percevoir le niveau le plus appropri de qualit en tenant de leurs contraintes actuelles.
Les techniques adaptatives les plus populaires seront prsentes dans le prochain chapitre.
-
7/24/2019 Rapport de Stage PFE MPEG DASH
18/75
Android MPEG DASH Player
Page 17
Figure 5 Schma simplifi du streaming adaptatif [Net3]
Plusieurs systmes d'exploitation (SE) ont t dvelopps pour les Smartphones Android
(voir dtails lAnnexe B) est un SE mobile open source dvelopp par Google.
Des statistiques rcentes [Net4] ont montr quAndroidest le systme d'exploitation mobile
prdominant dans le march (56.9% au niveau mondial), suivi par iOS d'Apple (22.5%),
Symbian (8.5%) et Windows Mobile (1.9%).
Les prcdentes statistiques sont reprsentes dans la figure 6.
Figure 6 Les ventes mondiales de Smartphones tries par systme dexploitation
Les ventes mondiales de smartphones
classs par systme d'exploitation en
Mai 2013
Android
56,9%
Symbian 8,5
%
Autre 10,2 %
Windows
phone 1,9%
iOS 22,5 %
Les ventes mondiales de smartphones
classs par systme d'exploitation en
Mai 2011
Android 36%
Symbian
27,4%Autre 3,3%
Windows
Phone 3,6 %iOs 16,8%
RIM 12,9%
Le systme dexploitation Androidest devenu largement dominant dumarch des Smartphones
-
7/24/2019 Rapport de Stage PFE MPEG DASH
19/75
Android MPEG DASH Player
Page 18
A l'heure actuelle, il existe peu de services de streaming adaptatif pour Android de Google.
Les protocoles de streaming supports par la plateforme Android actuellement sont les
suivants:
- RTSP (RTP, SDP)
-
Le Streaming progressif bas sur les protocoles HTTP/HTTPS
- HTTP/HTTPS live streaming (support du protocole ajout partir de la version
Android 3.0)
Malgr le fait que Apple Inc ait publi et mis en uvre un protocole connu sous le nom
HTTP Live streaming (HLS), dj soutenu dans les tlphones mobiles d'Apple, et que ce
protocole Apple HLS est en train de devenir une norme Groupe du travail de l'Internet
Engineering Task Force (IETF), d'autres parties, comme le Moving Picture Experts Group
ISO / IEC (MPEG), ont propos une nouvelle norme vers novembre 2012 pour le streaming
adaptatif via HTTP,cette norme est appele streaming adaptatif dynamique sur HTTP(DASH).
Dans le cadre des recherches pour lamlioration des fonctionnalits de la plateforme
Android et vu le nombre limit de protocoles de streaming supports nativement par cette
plateforme et vu lavnement de plusieurs nouveaux protocoles de streaming volus,
lquipeMultimdia de la socit TELNET a propos pour tude et ralisation le sujet intitul
Android MPEG DASH Player visant raliser une solution complte supportant le
nouveau protocole de streaming de MPEG sur Android.
1.2.2 Objecti fsLquipe Multimdiade TELNET a dfini les objectifs suivants pour le prsent projet de fin
dtudes:
Modification du Framework Android pour ajouter le support du protocole MPEG
DASH
Ralisation d'un Android Mdia Player exploitant le protocole MPEG DASH
Pour atteindre ces objectifs, les tches suivantes sont prconises dans ce projet:
Ajout du support du protocole MPEG DASH ce qui conduit une tude approfondie
des capacits de lAndroid Media Framework (Stagefright).
Dfinition des formats de mdias et protocoles de streaming qui sont nativement
supports par Stagefright.
La phase de ralisation de lAndroidMdia Player ncessite :
- La dfinition de plusieurs paramtres analyser lors de l'valuation. Cette valuation
concernera notamment l'efficacit, la performance, les retards, et l'utilisation de la
bande passante. Ces paramtres doivent tre dfinis facilement et clairement afin de
pouvoir comparer efficacement les mcanismes d'adaptation.
-
7/24/2019 Rapport de Stage PFE MPEG DASH
20/75
Android MPEG DASH Player
Page 19
-
La proposition et l'valuation des diffrents mcanismes d'adaptation du ct du client
et qui sont capables de converger vers le dbit binaire maximal durable. Ces
mcanismes prcisent la logique de l'application du client, fournissant une utilisation
efficace du dbit disponible sur le rseau.
-
Des diffrentes procdures seront examines afin d'optimiser l'utilisation de la bandepassante disponible et tudier les inconvnients potentiels.
Conclusion
Dans ce chapitre nous avons commenc par exposer le progrs atteint dans le domaine du
streaming de contenu multimdia et ceci en numrant et en dtaillant les principaux
protocoles de streaming existants.
En analysant ces protocoles, nous avons pu constater limportance et la prdominance du
streaming de contenu mdia sur le march tout en remarquant notamment le nombre limit deprotocoles de streaming accessibles via Android. Ainsi, nous pouvons justifier amplement
lintrt et lutilit de la ralisation de lapplication Android MPEG DASH Player sujet de
notreprojet de fin dtudes.
Ce qui constitue une source dune solide motivation pour pouvoir apporter une contribution
personnelle dans le systme dexploitation Android.
Dans le chapitre suivant, nousprsenterons ltat de lart du streaming.
-
7/24/2019 Rapport de Stage PFE MPEG DASH
21/75
Android MPEG DASH Player
Page 20
Chapitre 2 :Etat de lart du Streaming
Introduction
Notre sujet se propose dajouter le support dun nouveau protocole de streaming la
plateforme Android. Nous estimons quil est trs utile dlaborer une tude thorique
exhaustive couvrant les diffrentes techniques de streaming disponibles sur le march. Cette
tude nous permet de mieux situer le projet dans son contexte.
Il existe actuellement trois mthodes principales pour livrer le streaming multimdia: le
streaming traditionnel, le streaming progressif et le streaming adaptatif
On prsentera en premier lieu ltat de lart de streaming en numrant les diffrents types
de protocoles de streaming disponibles actuellement sur le march tout en signalant les
avantages et les inconvnients de chacun de ces protocoles
2.1 Streaming traditionnelLe streaming traditionnel ncessite un protocole mode connect ( statefull ) qui tablit
une session entre le prestataire et le client. Dans cette technique, les mdias sont envoys
sous la forme de paquets. Le protocole de transport en temps rel (RTP) avec le Real-Time
Streaming Protocol (RTSP) sont frquemment utiliss pour mettre en place un tel service.
2.1.1 Real-Time Tr ansport Protocol (RTP)Le Real-Time Transport Protocol (RTP) dcrit un systme de paquets qui fournit des flux
vido et audio sur des rseaux IP. Il a t dvelopp par le groupe de transport audio vido de
travail de l'IETF en 1996.
Le RTP est un protocole bout--bout, temps rel pour les services de rseau unicast ou
multicast. Aussi, le RTP fonctionne sur UDP qui est adapt pour la distribution multicast,
alors que tous les protocoles qui sont construits au-dessus de TCP ne peuvent tre unicast.
Pour cette raison RTP est largement utilis pour la distribution de mdias dans le cas de
l'Internet Protocol Television (IPTV). Un service de multimdia RTP est gnralement utilis
en conjonction avec RTSP, avec l'audio et la vido transmise en flux RTP distincts.
La spcification RTP dcrit deux sous-protocoles qui sont le protocole de transfert de
donnes (RTP donnes) et le protocole RTP Control (RTCP).
RTP est utilis pour transfrer des donnes multimdia en utilisant diffrents codecs avec
horodatage et des numros de squence. Ces horodateurs et les numros de squence
permettent au rcepteur de dtecter la perte de paquets et d'effectuer si ncessaire
rorganisation et synchronisation des flux multimdia, entre autres activits.
En option RTP peut tre utilis avec un protocole de description de session ou un protocole
de signalisation telle que H.323, le Media Gateway Control Protocol (MEGACO), le contrled'appel Skinny Protocol (SCCP), ou le Session Initiation Protocol (SIP).
-
7/24/2019 Rapport de Stage PFE MPEG DASH
22/75
Android MPEG DASH Player
Page 21
RTP ne fournit pas un mcanisme pour assurer la livraison en temps opportun et ne garantit
ni la qualit du service ni la livraison l'ordre des paquets. En outre, il n'y a pas de contrle de
flux fourni par le protocole lui-mme, le contrle de flux et l'vitement d'encombrement sont
plutt sont mettre en uvre par la couche application l'application utilisant ce protocole.
2.1.2 Real-Time Streaming Protocol (RTSP)
Le Real-Time Streaming Protocol (RTSP) est un protocole de contrle de session qui
fournit un cadre extensible pour contrler la transmission de donnes en temps rel. Il a t
dvelopp par le contrle de la session multimdia multipartisme groupe (MMUSIC) de
l'IETF de travail en 1998. RTSP est utile pour tablir et commander des sessions de mdia
entre des points d'extrmit (end points), mais il n'est pas responsable de la transmission de
donnes de mdia. En effet, le RTSP s'appuie sur des mcanismes de prestation bass sur
RTP.
En contraste avec HTTP, RTSP est un protocole en mode connect (statefull) : le client et le
serveur peuvent mettre des requtes. Ces requtes peuvent tre effectues de trois faons
diffrentes: (1) les connexions persistantes utilises pour plusieurs (requte / rponse)
transactions, (2) une connexion par transaction ou (3) pas de connexion.
Certaines implmentations RTSP populaires sont QuickTime Streaming Server d'Apple
(QSS) (galement sa version open source, Darwin Streaming Server d'Apple (DSS)) et
HelixUniversal Server de RealNetworks.
2.2 Le Streaming progressifLe Streaming progressif est une technique populaire et largement utilis sur Internet
permettant de transfrer des donnes entre le serveur et le client. Le Streaming progressif
peut gnralement tre ralis en utilisant un serveur HTTP rgulier. Le principe de streaming
progressif est que les utilisateurs demandent du contenu multimdia qui est tlcharg
progressivement dans un tampon local. Ds qu'il y aura suffisamment de donnes les mdias
commencent jouer par contre si le taux de lecture dpasse la vitesse de tlchargement, la
lecture est retarde jusqu' ce que plus de donnes soient tlcharges.
Le tlchargement progressif a quelques inconvnients:
Un gaspillage de bande passante si l'utilisateur dcide d'arrter de regarder le contenu
vido, puisque les donnes ont t transfres et tamponnes et ne seront pas joues.
Pas d'adaptation du dbit binaire, car tous les clients sont considrs gaux en termes
de bande passante disponible.
Pas de support pour les sources mdiatiques en direct(le live streaming).
2.3 Le streaming adaptatifLe streaming adaptatif est une technique qui dtecte la bande passante disponible de
l'utilisateur et la capacit du processeur afin d'ajuster la qualit de la vido qui est fourni
l'utilisateur et d'offrir la meilleure qualit possible qui peut tre dlivre cet utilisateur dans
sa situation actuelle (sa bande passante actuelle). Cette technique de streaming ncessite quele codeur (lencodeur) fournisse une vido des dbits multiples (ou plusieurs encodeurs
-
7/24/2019 Rapport de Stage PFE MPEG DASH
23/75
Android MPEG DASH Player
Page 22
peuvent tre utiliss). En consquence, les utilisateurs auront la meilleure qualit de streaming
qui leur est possible.
Les techniques d'adaptation du dbit binaire de la source vido largeur de bande variable
peuvent tre classes en trois catgories:
Transcodage (section 2.3.1)
Encodage volutif (section 2.3.2)
Commutation de flux (section 2.3.3)
2.3.1 Transcodage
Au moyen de transcodage il est possible de convertir le contenu vido brut la vole (sans
arrt) ct serveur. Un schma du principe de cette technique est reprsent dans la figure 7.
Le principal avantage de cette approche est la granularit fine qui peut tre obtenue, puisque
les mdias diffuser peuvent tre transcods suivant la bande passante disponible de
l'utilisateur.
Cependant, il y a quelques inconvnients graves qui mritent dtre souligns. Tout
d'abord, le cot lev de transcodage est le rsultat de l'adaptation du contenu vido brut
plusieurs fois pour plusieurs demandes ayant des qualits diffrentes. Par ailleurs et pour des
raisons dexigences de calcul d'un systme de transcodage en temps rel, le processus de
codage doit tre effectu dans des serveurs appropris afin d'tre dploy dans les CDN
(Content Delivery Network).
2.3.2 Encodage voluti f
Utilisant un standard de CODEC volutif comme H.264/MPEG-4 AVC, la rsolution
d'image et la vitesse de dfilement peuvent tre adaptes sans avoir encoder de nouveau le
contenu vido brut. Cette approche tend rduire la charge de traitement, mais elle est
limite un ensemble de formats de CODEC volutives. Un schma de principe de cettetechnique est reprsent dans la figure 8.
Contrleur
TranscodeurContenu BrutStreamingAdaptatif
Paramtres dencodage+
Figure 7 Approche du transcodage pour le streaming adaptatif [Net3]
-
7/24/2019 Rapport de Stage PFE MPEG DASH
24/75
Android MPEG DASH Player
Page 23
Nanmoins, le dploiement sur CDNs est compliqu dans cette dmarche vue la ncessit
de recourir des serveurs spcialiss pour mettre en uvre la logique d'adaptation.
2.3.3 Commutation de contenu (Stream switching)
La mthode de commutation de contenu encode le contenu vido brut plusieurs diffrents
dbits croissants, gnrant N versions d'un mme contenu, dites niveaux vido .
Comme le montre la figure 9, un algorithme doit choisir dynamiquement le niveau vido qui
correspond la bande passante disponible de l'utilisateur.
Lorsque des changements dans cette bande passante se produisent, l'algorithme passe
simplement des niveaux diffrents pour assurer une lecture continue.
Figure 9 Approche du Stream switching pour le streaming adaptatif [Net3]
Contenu Brut Encodeur volutif Vido volutive
Paramtres dencodageContrleur
StreamingAdaptatif
Figure 8 Approche de l'encodage volutif
-
7/24/2019 Rapport de Stage PFE MPEG DASH
25/75
Android MPEG DASH Player
Page 24
L'objectif principal de cette mthode est de minimiser les cots de traitement, puisque aucun
autre traitement n'est ncessaire une fois tous les niveaux vido ont t gnrs. En outre,
cette approche ne ncessite pas lutilisation dun format de codec spcifique, on dit que cette
mthode est totalement agnostique de CODEC.
En revanche, les besoins de stockage et de transmission doivent tre pris en compte car le
mme contenu vido est encod N fois (mais diffrents dbits). Le seul inconvnient de
cette approche est la granularit grossire car il y a seulement un ensemble discret de niveaux.
La figure 10 illustre lapproche de commutation dans le temps, en supposant que tous les
segments ont la mme dure et que les oprations de commutation sont effectues aprs que
chaque segment a t totalement jou (non partiellement).
Figure 10 Exemple illustrant la commutation de Stream dans le temps
2.4 Streaming adaptatif bas sur HTTPRcemment, une nouvelle solution pour le streaming adaptatif a t conue, base sur la
technique de commutation de flux (Stream switching). Il s'agit d'une mthode hybride qui
utilise HTTP comme protocole de livraison au lieu de dfinir un nouveau protocole.
Les sources vido et audio sont dcoupes en segments courts de la mme longueur
(typiquement de quelques secondes).En option, les segments peuvent tre coups le long d'un
Groupe de vido d'images, ainsi chaque segment dbute avec une image cl, ce qui signifie
que les segments n'ont pas de dpendances pass / futur entre eux. Enfin, tous les segments
sont encods dans le format souhait et hbergs sur un serveur HTTP.
Les clients demandent les segments squentiellement et les tlchargent en utilisant le
tlchargement progressif du protocole HTTP. Les segments sont lus dans l'ordre et comme
ils sont contigus, la lecture globale rsultante est lisse et toute la logique d'adaptation est
commande par le client. Cela signifie que le client calcule le temps aller chercher chaque
segment afin de passer un dbit binaire suprieur ou infrieur.
Un exemple de base est reprsent sur la figure 11, o le dispositif de requte-rponse
-
7/24/2019 Rapport de Stage PFE MPEG DASH
26/75
Android MPEG DASH Player
Page 25
reprsente la logique de commutation applique sur le ct client. Les flches paisses
correspondent la transmission d'un segment de donnes.
Pourquoi HTTP?
Le protocole HTTP est largement utilis dans l'Internet comme un protocole de livraison.
Aussi, HTTP est largement utilis par les web services afin dviter les problmes de NAT et
de pare-feu. En outre sachant que HTTP utilise le protocole TCP comme protocole de
transport, il peut ainsi assurer une livraison de flux d'octets fiable avec de nombreux
mcanismes d'vitement d'encombrement.
De plus les services bass sur HTTP peuvent utiliser les serveurs HTTP existants et les
infrastructures de CDN existants.
2.4.1 Le HTTP Live Streaming (HLS) dApple
En mai 2009, Apple a publi un protocole Streaming de Media bas sur HTTP
communication (Apple HLS) pour transmettre des flux borns et sans limite de donnes
multimdias.Apple HLS est bas sur la technologie de Streaming Media Network Emblaze
qui a t publi en 1998.Selon cette spcification, un flux global est dcompos en une
succession de petits tlchargements de fichiers bass sur HTTP, o les utilisateurs peuvent
slectionner des flux alternatifs encods des dbits diffrents. Et comme les clients HLS
utilisent des requtes de type HTTP aux fichiers tlcharger. Cette mthode fonctionne
travers les pare-feu et serveurs proxy (contrairement aux protocoles UDP tels que RTP qui
ncessitent des ports ouverts dans le pare-feu ou ncessitent l'utilisation d'une passerelle de
GET :Manifest
Envoie dufichier Manifest
GET :segment 1:level 1
Adaptation
GET :segment i:level k
200 OK
200 OK
200 OK
Envoie segment 1avec la qualit 1
Envoie segment iavec la qualit k
Lance lalecture
FichierManifestAnalys
Demandesegment iavec la
ualit k
Figure 11 Communication client-serveur dans le cadre d'un streaming adaptatif
-
7/24/2019 Rapport de Stage PFE MPEG DASH
27/75
Android MPEG DASH Player
Page 26
couche application).
Initialement, les utilisateurs tlchargent une playlist M3U tendu qui contient plusieurs
Uniform Resource Identifiers (URI) correspondant des fichiers multimdia, o chaquefichier doit tre une continuation du flux cod (sauf si c'est le premier ou il y a une tiquette
de discontinuit qui signifie que le flux global est illimit). Il est noter que le http Live Streaming dApple supporte seulement le format de conteneur
MPEG2-TS
2.4.2 Le Microsoft' s Li ve Smooth Streaming (LSS)
Smooth Streaming est une extension IIS-Internet Information Services) Media Services qui
permet le streaming adaptatif de supports multimdia aux clients via le protocole HTTP.
Microsoft a dmontr avec succs la livraison de vido HD 1080p la fois en direct et la
demande avec Smooth Streaming pour les clients Silverlight.
IIS Smooth Streaming utilise le format MPEG-4 comme format de stockage. Le principe deLSS est la dcomposition et ensuite le stockage dun mdia sous la forme de plusieurs
fragments contigus appels chunk. Ces fragments sont dcrits laide dun fichier manifest
(fichier XML) qui contient la description du mdia diffuser ainsi que les diffrentes qualits
disponibles et ladresse des diffrents chunks tlcharger progressivement.
La communication client-serveur dans le cadre de streaming LSS se limite quatre
oprations : Manifest Request: Le client demande tlcharger le fichier Manifest. Manifest Response: Le serveur envoi le fichier Manifest au client. Fragment Request : Le client demande de tlcharger un chunk travers son URI. Fragment Response : Le serveur envoi au client le fragment requis.
2.4.3Le HTTP Dynamic Streaming dAdobe
Le HTTP dynamique streaming d'Adobe (HDS) est une approche qui permet la diffusion
la demande et en direct et qui supporte les protocoles HTTP et Real Time Messaging Protocol
(RTMP). Il utilise diffrentes spcifications de format pour les fichiers multimdias (Flash
Video ou F4V) et les manifestes (Flash Media manifeste ou F4M). Pour dployer la solution
d'Adobe, il est ncessaire de mettre en place un Flash Media Streaming Server, qui est un
produit propritaire et commercial. En outre, les utilisateurs sont obligs dinstaller le Flash
Player d'Adobe.
Conclusion
Dans ce chapitre, nous avons commenc par prsenter lvolution qua connu le processus
de streaming. A cet effet, les diffrentes techniques de streaming ainsi que leurs avantages et
inconvnients ont ts dtaills.
Dans le chapitre suivant, le protocole de streaming dont lajout du support la plateforme
Android est lobjectif essentielde notre projet, sera prsent.
-
7/24/2019 Rapport de Stage PFE MPEG DASH
28/75
Android MPEG DASH Player
Page 27
Chapitre 3 :Le protocole MPEG DASH : prsentation et tude de lexistant
Introduction
Afin de russir la phase de conception et de dveloppement, nous avons jug quil est utile
de procder une tude prliminaire sur le protocole MPEG DASH et sur lexistence et
disponibilit de solutions supportant le protocole MPEG DASH sur la plateforme Android.
Pour illustrer la dmarche adopte pour cette tude, nous avons consacr la premire partie
de chapitre pour exposer la spcification du protocole MPEG DASH ainsi que les diffrents
apports et avantages de ce nouveau protocole par rapport aux autres protocoles de streaming
existants (ces protocoles ont t prsents dans le deuxime chapitre du prsent rapport).
La deuxime partie de ce chapitre sera consacre la prsentation de lunique solution
supportant MPEG DASH existante sur Android dans le march.
La dernire partie de ce chapitre comportera une numration et spcification des
diffrentes solutions envisageables pour pouvoir raliser notre propre solution de streaming
adaptatif dynamique sur Android exploitant le protocole MPEG DASH.
3.1 Spcifications du protocole MPEG-DASH
3.1.1 Prsentation du protocole
MPEG DASH : Cest un nouveau standard (ISO/IEC 23009-1) de diffusion sur internet qui
devrait arriver prochainement dans le march. Un peu comme la solution de Microsoft, LiveSmooth Streaming, ou lquivalent chez Adobe ou Apple, le MPEG DASH permet de faire du
streaming dynamique (Dash = Dynamic Adaptive Streaming over HTTP) en adaptant le flux
vido en fonction du dbit internet disponible.
Le flux vido pourra tre adapt tout au long de la lecture de la vido, et donc samliorer ou
baisser en qualit, en suivant la connexion internet et lintensit de son dbit.
Lavantage dun standard comme le MPEG DASH est linteroprabilit entre plateformes.
On peut ainsi imaginer un flux vido unique compatible pour Smartphones, PC/Mac/Linux ou
mme TV. Il suffira que le logiciel de lecture soit compatible.
Ce standard a t approuv par 24 socits, dont notamment Microsoft, Apple, Adobe, Netflix
ou encore Qualcomm
3.1.2 Chronologie de dveloppement
Juillet 2009 Avril 2010 Janvier 2011 Novembre 2011
Phasedexploration
Phase deralisation
Phase denormalisation
Figure 12 Chronologie du dveloppement du standard MPEG DASH
-
7/24/2019 Rapport de Stage PFE MPEG DASH
29/75
Android MPEG DASH Player
Page 28
La technologie MPEG-DASH a t dveloppe par le groupe MPEG (groupe spcialis dans
le dveloppement denormes internationalespour le traitement et le codage signaux audio
et/ou vido).
Les travaux sur le protocole MPEG DASH ont dbut en Juillet 2009.Ces travaux sont passs
par trois phases principales (les 3 phases sont reprsentes par le chronogramme de la figure12) :
Phase dexploration: cette phase a dbut en juillet 2009 avec les workshops MMT(Modeling Multi-commodity Trade) de MPEG.
Phase de ralisation : cette phase a commenc en Avril 2010, elle a dur sept mois :
consistant notamment en des procdures dappel doffre et validations lors du
MPEG CONSENSUS.
Phase de normalisation :cette phase a commenc en janvier 2011.En effet, il a t
jug opportun de rendre le protocole MPEG DASH un projet de norme
internationale. Ce qui a t ralis avec succs en Novembre 2011.
En avril 2012, la norme MPEG-DASH a t publi sous la rfrence ISO / IEC 23009-1:2012.
3.1.3 Mcanisme de foncti onnement
MPEG-DASH introduit le concept de prsentation de mdias (MPD) qui est un ensemble
structur de contenu vido / audio :
Une prsentation multimdia constitue d'une squence d'une ou plusieurs priodes qui sont
conscutives et qui ne se chevauchent pas.
Chaque priode comprend une ou plusieurs reprsentations du mme contenu multimdia et
a un temps de dmarrage qui lui est attribu par rapport au dbut de la prsentation des
mdias.Chaque reprsentation spcifie un profil de qualit vido constitu de plusieurs paramtres
tels que la bande passante, l'encodage et la rsolution. Aussi une reprsentation contient un ou
plusieurs segments, reprsents et localiss par leurs Universal Resource Locator (URL).
Les segments contiennent des fragments du contenu vido rel.
Un Media Prsentation Description (MPD) est un schma de fichier bas sur XML (voir
figure 14) qui contient toute la structure d'une prsentation multimdia expose ci-dessous
(figure 13).
http://fr.wikipedia.org/wiki/Normes_et_standards_industrielshttp://fr.wikipedia.org/wiki/Normes_et_standards_industriels -
7/24/2019 Rapport de Stage PFE MPEG DASH
30/75
Android MPEG DASH Player
Page 29
Figure 13 Schma d'illustration du contenu d'un fichier MPD
Figure 14 Exemple d'un fichier MPD
Le protocole MPEG DASH spcifie la syntaxe et la smantique du MPD, le format desegments, et le protocole de livraison (HTTP). Heureusement, il permet des configurations
-
7/24/2019 Rapport de Stage PFE MPEG DASH
31/75
Android MPEG DASH Player
Page 30
flexibles pour mettre en uvre diffrents types de services de streaming. Les paramtres
suivants peuvent tre slectionns de manire flexible: la taille et la dure des segments, le
nombre de reprsentations et le profil de chaque reprsentation (dbit binaire, CODEC,
format conteneur, etc.)
En ce qui concerne le comportement du client, il peut dcider dune manire flexible quand
et comment tlcharger des segments et choisir une reprsentation approprie.La figure 15 illustre la communication entre serveur et client dans un service de streaming
MPEG DASH. D'abord le client rcupre le fichier MPD et par la suite il demande
successivement les segments des mdias. Dans chaque priode, un niveau de reprsentation
est choisi, en fonction des temps de rcupration et d'autres paramtres dtermins par le
client.
Figure 15 Communication client-serveur dans le cadre du protocole MPEG-DASH
La figure 16 ci-aprs illustre les changements de qualit de segments tlchargs le longdune priode, changements en fonction de la variation de la bande passante disponible.
-
7/24/2019 Rapport de Stage PFE MPEG DASH
32/75
Android MPEG DASH Player
Page 31
Figure 16 Illustration du changement de la qualit des segments tlchargs selon la variation de la bandepassante
3.1.4 Avantages du protocole MPEG DASH
DASH fournit des formats efficaces et de bonne qualit pour un streaming
Aussi, Il permet :
-
la rutilisation (lutilisation) des technologies existantes. En effet, il na pas de
spcifications uniques et qui lui sont propres telles que celles de de codec conteneurs
ou de DRM (Digital Rights Management), ce qui constitue un avantage indniable parrapport aux autres technologies de streaming adaptatif comme le HLS(il ne prend en
charge que le MPEG2-ts) ou MS Smooth streaming(il ne supporte que le MPEG 4).
- le dploiement sur des simples serveurs web (il ny a pas dobligation recourir des
serveurs spcifiques) Le principale apport de lMPEG DASH cest quil fournit une
qualit de streaming de haut niveau et irrprochable : cest une rvolution dans le
domaine de vido streaming. En effet, il ny a plus de coupure lors de streaming et la
qualit de limage varie et peut atteindre de trs grandes rsolutions selon lavariation
de la bande passante
- dallger la charge sur le serveur car le serveur fournit les fichiers MPD au client avec
des diffrentes prsentations (redondance de donnes avec des qualits diffrentes)
-
le dploiement flexible, en effet il permet le Live streaming et le streaming surdemande (onDemand streaming).
- linsertion de publicit pendant le streaming.
3.2 Etude de lexistant
Actuellement les solutions qui implmentent le protocole MPEG DASH sur Android sont
peu nombreuses.
Le seul client existant jusquaujourdhui est le Helix DNA Client qui est une solution payante
et incomplte. Les autres solutions existantes sont soit des librairies soit des plugins offrant la
capacit de supporter le protocole MPEG DASH (Libdash et gstdashdemux).
-
7/24/2019 Rapport de Stage PFE MPEG DASH
33/75
Android MPEG DASH Player
Page 32
3.2.1 Heli x DNA Client
Helix DNA Client pour Android fournit un HLS, MPEG-DASH, Verimatrix DRM et
Microsoft PlayReady DRM Player pour les versions Android 2.2 et ultrieures. Ce client
supporte les codecs H.264 et AAC codecs avec le soutien Bit Rate Adaptive (H.264 / AAC).
Helix SDK est fourni comme une bibliothque qui est incluse au sein des applications
Android Java.
Le client Helix DNA contient le support pour les formats et protocoles suivants:
Formats audio: AAC, RealAudio.
Formats vido: conteneur H.264 et RealVideo format de fichier 3GP et
RealVideo.
Protocoles: HLS (Version 4), MPEG-DASH (ISO BMFF MP4).
3.2.2 La li brair ie L ibdash
Libdash est une API (Application Programmable interface) crite en C + + qui fournit une
interface oriente objet (OO) la norme MPEG-DASH.
Avantages dutilisation de la librairie Libdash
-
Multiplateforme (environnement de de dveloppement)-
Implmente La totalit des spcifications du protocole MPEG DASH
- Mozilla Firefox a ajout le support du protocole MPEG DASH en utilisant
WebM. WebM[Net9] est un format multimdia ouvert principalement destin
un usage sur le web et concurrent direct du format H.264.Il se base sur la
librairie Libdash[Net13].
-
Cette librairie est open source et en volution permanente
- Candidate pour tre la libraire officielle de support du protocole MPEG
DASH[Net14].
I nconvnients dutilisation de la librairie Libdash
Absence dalgorithme dadaptation. Un algorithme dadaptationest un algorithme qui permetde se dplacer dun segment un autre selon lavariation de la bande passante. En effet cet
algorithme reste une charge dvelopper pour chaque client de la librairie.
3.2.3 Gstreamer : DASHbin et le plugin gstdashdemux
GStreamer est une bibliothque logicielle de manipulation de sons et d'images (appele
aussi Framework multimdia) crite en langage C, initialement dveloppe pour proposer une
solution capable de concurrencer QuickTime et DirectShow sur GNU/Linux.
Sa premire version publique date du 31 octobre 1999. GStreamer se base sur une architecture
modulaire compose d'un cur (GStreamer) et de plugins (Base, Good,Ugly, Bad). Pour
-
7/24/2019 Rapport de Stage PFE MPEG DASH
34/75
Android MPEG DASH Player
Page 33
faciliter les usages commerciaux de GStreamer, Fluendo et Collabora ont uvrensemble la
cration d'un SDK multiplateforme (Linux, Windows et MacOS X).
Pour ajouter le support du protocole MPEG DASH Gstreamer, il existe dj deux solutions
DASHBinet gstdashdemux.DASHBinest un nouvel lment qui sajoute au plug-in gst-plugins-bad afin de lui ajouter lestrois entits suivantes:
mpdcommon: une librairie qui aide lire et grer le fichier MPD.
mpdparse: un plug-in responsable du (XML parsing) analyse des fichiers MPD.
dashbin:client ou Player.
gstdashdemuxest un plug-in qui permet le streaming vido selon le protocole MPEG DASH.Le plugin est dvelopp par une quipe de dveloppeur dOrange et dont le code source ainsi
que les instructions dinstallation sont disponibles .
Avantages de lutilisation de Gstreamer
Gstreamer est un outil puissant qui permet la construction de lecteurs multimdias
pour la plupart des formats de fichiers multimdias.
Le dveloppent de plugin pour Gstreamer est trs bien document sur le site officiel
de Gstreamer.
Comme cest un systme qui estbas sur lutilisation plug-in. Le recours des
plugins dj publis et tests, permet linsertion de plusieurs fonctionnalits comme
lajout de sous-titre, Multiscreen
I nconvnient de lutilisation de GstreamerCette solution semble ne pas tre adopte pour le moment, en effet nos investigations nont
pas abou0ti trouver un feedback ce sujet ce qui nencourage pas adopter cette mthode.
ConclusionDans ce chapitre nous avons commenc par la dfinition et la spcification du nouveau
protocole de streaming MPEG DASH Ensuite on a fait une numration des solutions
possibles pour la mise en place dun client Android supportant le protocole MPEG DASH
En analysant les avantages et les inconvnients de chaque solution, nous avons opt pour celle
qui consiste utiliser la librairie Libdash. Cette librairie se distingue notamment par sa bonne
adaptation et elle est la solution la plus adopte et la plus mature.
Dans le chapitre suivant nous allons entamer ltape danalyse et spcification des besoins de
notre systme.
-
7/24/2019 Rapport de Stage PFE MPEG DASH
35/75
Android MPEG DASH Player
Page 34
Chapitre 4Analyse et spcification des besoins
IntroductionLanalyse des besoins est une tape fondamentale la conduite russie de tout projet. En
effet, la description dtaille des besoins implicites et explicites dun systme informatique
permet une meilleure comprhension de ce systme et de ses fonctionnalits.
Ce chapitre prsentera les mthodologies utilises pour la spcification des besoins
fonctionnels ainsi que les besoins non fonctionnels.
4.1 Besoins en Architecture
Le systme doit se conformer larchitecture globale du protocole MPEG DASH qui
comprend ncessairement deux lments
Serveur MPEG DASH qui contient les mdias diffuser sous forme de plusieurs
segments contigus et ayant un fichier de description selon le format MPD.
Client DASH qui est le consommateur de service de streaming provenant du
serveur MPEG DASH.
Figure 17 Architecture d'un systme de streaming MPEG-DASH
Dans le cadre de notre projet la tche sera essentiellement la ralisation de lapplication
cliente (Smartphone de lafigure 17).
-
7/24/2019 Rapport de Stage PFE MPEG DASH
36/75
Android MPEG DASH Player
Page 35
4.2 Expression des besoins
Avant de raliser le diagramme de cas dutilisation il est ncessaire de dterminer et de
classer les diffrents besoins de notre systme selon leurs natures.
4.2.1 Besoins Fonctionnels
Lapplication cliente doit assurer les fonctionnalits suivantes :
Support du protocole MPEG DASH (faire des modifications au niveau de
larchitecture Android afin dajouter le support du protocole)
Tlchargement du fichier MPD de description du mdia diffuser
Tlchargement des diffrents segments du mdia
Passage manuel dune qualit une autrelors de la visualisation dun flux
Gestion intelligente de la qualit de la vido selon un algorithme de dcision
4.2.2 Besoins non fonctionnels
Il y a lieu duvrer pour assurer un maximum de:
Ergonomie de la prsentation : Un aspect trs important pour le succs dune
application mobile ou desktop est laspect prsentation.
Robustesse de lapplication: elle doit fonctionner dans toutes les circonstances.
Ininterruption du streaming : Fluidit de lapplication pas de blocage ni
dinterruption.
Adaptation lenvironnement daccueilLapplication doit se conformer aux capacits
de lenvironnement daccueil (capacit en bande passante et CPU etc).
4.3 Diagramme des cas dutilisation
Pour pouvoir raliser le diagramme de cas dutilisation de notre systme, nous avons jug
quil est ncessaire didentifier les diffrents acteurs qui vont interagir avec ce systme.Tous les cas dutilisation pourront tre dtermins en dtectant et analysant toutes les
interactions survenues entre les diffrents acteurs et le systme.
4.3.1 Identi fi cation des acteur s
Dans le cadre de notre application, on nauraquun seul type dacteurs qui est lutilisateur
de Smartphone qui pourra ainsi bnficier des diffrentes fonctionnalits de notre application.
4.3.2 L iste des cas dutilisation
En analysant linteraction qui pourrait avoir lieu entre lutilisateur dun Smartphone et notre
application on peut prvoir les cas dutilisation suivants:
-
7/24/2019 Rapport de Stage PFE MPEG DASH
37/75
Android MPEG DASH Player
Page 36
Grer le Streaming : - Lancer, Arrter et redmarrer la lecture de contenu multimdia.
- Passage en Mode plein cran.
Grer la qualit de streaming : augmenter /diminuer la rsolution daffichage.
Parcourir la liste des vidos disponibles.
4.3.3 Modlisation
Pour pouvoir modliser notre systme nous avons opt pour le langage UML (Unified
Modeling Language). Cest un langage universel de modlisation trs employ dans les
diffrentes tudes de modlisations des systmes informatiques.
Ainsi, nous avons opt pour cet outil afin de modliser les besoins fonctionnels exigs par
notre systme. Il est prciser que ce choix est justifi par le fait que le langage UML facilite
normment la comprhension des reprsentations complexes et quil se distingue par sa
souplesse.
Notre diagramme des cas dutilisation va dcrire de manire textuelle avec la notation dulangage UML tous les cas dutilisationprcits. Ainsi, on pourra mettre en vidence toutes
les relations fonctionnelles entre les diffrents acteurs et notre systme tudi. Ce que chaque
acteur attend du systme sera ainsi modlis laide de ce diagramme.
Figure 18 Diagramme de cas d'utilisation global
-
7/24/2019 Rapport de Stage PFE MPEG DASH
38/75
Android MPEG DASH Player
Page 37
4.4 Description des cas dutilisation
Une fois la modlisation des diffrents cas dutilisation termine, commence la phase de
description des cas dutilisation. Le premier cas dutilisation expos lors de la section 4.3.3 est
Lancer le Streaming , ce cas dutilisation a pour but de visualiser une vidoprslectionne, pour raliser ce cas, lutilisateur doit obligatoirement choisir en avance une
vido parmi la liste des vido disponibles.
Les tableaux suivants nous permettent de mieux cerner les autres cas dutilisation modliss
par le diagramme global reprsent dans la figure 18.
Cas dutilisation
Titre Arrter le streaming
But Arrter la visualisation dune vido
quelconque en cours de lecture
Rsum Lutilisateur choisit darrter le streaming dela vido en cours de lecture
Acteurs Utilisateur du Smartphone
Pr conditions Une vido en cours de lecture
Besoin dIHM Bouton permettant larrt du streaming
Exigences non fonctionnellesTableau 1 Description du cas d'utilisation Arrter le streaming
Cas dutilisation
Titre Passer en mode dadaptation automatique
But Obtenir la meilleure qualit daffichage dune
faon automatiqueRsum Lutilisateur choisit loption dadaptation
automatique
Acteurs Utilisateur du Smartphone
Pr conditions Mode dadaptation manuel en cours
Besoin dIHM Menu de slection du mode dadaptation
Exigences non fonctionnelles Le passage doit se faire instantanmentTableau 2 Description du cas d'utilisation Passer en mode dadaptation automatique
Cas dutilisation
Titre Visualiser une vido en mode plein cran
But Visualiser une vido en mode plein cran
Rsum Lutilisateur choisit loption de visualisation
en mode plein cran
Acteurs Utilisateur du Smartphone
Pr conditions une vido en cours de lecture
Besoin dIHM Bouton permettant le passage en mode plein
cran
Exigences non fonctionnelles Assurer la continuit du streaming lors du
redimensionnement de la vido
Tableau 3 Description du cas d'utilisation Visualiser une vido en mode plein cran
-
7/24/2019 Rapport de Stage PFE MPEG DASH
39/75
Android MPEG DASH Player
Page 38
Cas dutilisation
Titre Passer une suprieure/infrieure rsolution
vido
But Obtenir une qualit meilleure /infrieur de la
vido
Rsum Lutilisateur choisit un instant donn depasser une qualit meilleure/infrieure
Acteurs Utilisateur du Smartphone
Pr conditions Vido en cours de streaming un niveau de
qualit affich sur lcran
Besoin dIHM 2 boutons pour permettre le passage dautre
niveau de qualit ainsi quun champ pour
afficher le niveau de rsolution actuel
Exigences non fonctionnelles Assurer la continuit du streaming lors du
changement de la qualit daffichage
Tableau 4 Description du cas d'utilisation Passer une suprieure/infrieure rsolution vido
4.5 Diagramme de squences
Aprs avoir spcifi et dcrit les diffrents cas dutilisation de notre systme, il est
ncessaire dillustrer le droulement de ces cas en ayant recours aux diagrammes de
squence.
Ce type de diagramme permet de reprsenter toutes les interactions survenues sous forme
dintercommunications entre les diffrents composants du systme. Ces intercommunications
sont concrtises par lenvoi des messages sous forme dappels de mthodes selon lordre
chronologique.
Pour mieux illustrer le droulement des diffrents cas dutilisation, on va modliser ci-
aprs (figure 19), comme exemple, un scnario. Dans ce scnario, lutilisateur lance le
streaming, puis aprs quelques minutes de lecture du mdia, choisit de passer en mode
dadaptation manuel afin de pouvoir finalement amliorer la qualit daffichage
manuellement.
-
7/24/2019 Rapport de Stage PFE MPEG DASH
40/75
Android MPEG DASH Player
Page 39
Figure 19 Diagramme de squence d'un scnario d'utilisation du MPEG DASH Player
Conclusion
Dans ce chapitre nous avons commenc par dterminer les diffrents besoins fonctionnels etnon fonctionnels que doit garantir notre systme, puis nous avons identifi et dtaill les
principaux cas dutilisations usuels travers les diagrammes des cas dutilisation et un
diagramme de squence.
Dans le chapitre suivant nous allons entamer ltape de conception de notre projet.
-
7/24/2019 Rapport de Stage PFE MPEG DASH
41/75
Android MPEG DASH Player
Page 40
Chapitre 5
La phase Conception du Android MPEG DASH Player
Introduction
Nous passons dans ce chapitre la conception de notre projet. Une mthode d'analyse et
de conception a pour objectif de formaliser les tapes indispensables du dveloppement d'un
systme afin de rendre ce dveloppement plus fidle aux besoins du client. A cet effet, Nous
prsentons dans un premier temps une tude conceptuelle comportant larchitecture de
lapplicationafin den extraire les diffrents modules qui composent notre systme. Ensuite,
nous passons une conception dtaille travers laquelle nous prsentons les diagrammes de
classes relatifs aux diffrents modules de lapplication.
5.1 Architecture globale du systme
L'architecture gnrale du streaming selon le protocole MPEG-DASH en utilisant la
librairie Libdash est reprsente dans la figure 20. Dans cette figure, les parties de couleur
orange reprsentent les parties standardises (spcifies par le protocole MPEG DASH).
La livraison du MPD, les heuristiques de contrle et le lecteur multimdia lui-mme, sont
reprsents en bleu sur la figure 20. Ces pices ne sont pas standardises et permettent la
diffrenciation des solutions de l'industrie en raison de la performance ou des caractristiquesdiffrentes qui peuvent tre intgres ce niveau.
Libdash est galement reprsent en bleu et encapsule l'analyse MPD et une partie HTTP, qui
sera gr par la bibliothque. Par consquent, la bibliothque fournit des interfaces pour le
contrle en continu de DASH et de Media Player pour accder au fichier MPD et aux
segments des mdias tlchargeables.
L'ordre de tlchargement de ces segments des mdias ne sera pas pris en charge par la
bibliothque il est laiss sous la matrise du Dash Streaming Control.
Dans un dploiement typique, un serveur de DASH fournit des segments dans plusieurs dbits
et des rsolutions diffrentes. Le client reoit tout d'abord le fichier MPD.
Libdash qui fournit une interface oriente objet pour analyser et manipuler le fichier
MPD et par suite acqurir les informations contenues dans ce fichier telles que les relations
temporelles correspondantes aux diffrentes qualits des segments. Sur la base de ces
informations, le client peut tlcharger des segments des mdias individuels travers Libdash
n'importe quel point dans le temps. Par consquent diffrentes conditions de bande passante
peuvent tre manipules par le passage un niveau de qualit correspondant aux limites des
segments afin de fournir une exprience Smooth Streaming.
Cette adaptation ne fait pas partie de Libdash et la norme MPEG-DASH sera laisse
l'application qui utilise Libdash et plus prcisment la partie de contrle du streaming (Dash
Streaming Control).
-
7/24/2019 Rapport de Stage PFE MPEG DASH
42/75
Android MPEG DASH Player
Page 41
Figure 20 Architecture globale du systme de streaming en utilisant Libdash[Net5]
La partie serveur dans le cadre de notre projet sera le serveur Dataset de luniversit ITEC
de Katlenburg.
Ainsi les composants dans le cadre de la prsente tude que nous avons raliss et non
fournis par la librairie Libdash sont la partie Dash Streaming Control et le Media Player
(figure 20).Aprs la phase de compilation de la librairie Libdash pour Android, la tche tait de
raliser le Dash Streaming Control que nous avons intitul Dash Player.
Dash Player exploite lAPI fournie par la librairie Libdash pour raliser le contrle sur la
qualit et lordre de tlchargement des segments aprs analyse du fichier MPD.
-
7/24/2019 Rapport de Stage PFE MPEG DASH
43/75
Android MPEG DASH Player
Page 42
5.2 Conception dtaille
Aprs avoir expos larchitecture globale de notre systme, nous prsentons dans cette
section une tude dtaille de la conception de notre systme.
5.2.1 Archi tecture physique
Pour commencer, nous exposerons le diagramme de dploiement du systme (figure 21).
Ce diagramme est une vue physique qui a pour but de dcrire la rpartition des diffrents
composants du systme.
Figure 21 Diagramme de dploiement du systme
Daprs le diagramme de la figure 21, nous pouvons conclure que larchitecture matrielle
de notre systme se compose principalement de deux nuds. Lepremier nud est le serveur
web de luniversit de Katlenburg ITEC qui joue le rle de fournisseur de contenu.
Le deuxime nud de notre systme est le terminal Android client qui joue le rle de
rcepteur dans notre systme. Il est noter que la communication entre ces deux nudsse fait
via le protocole HTTP.
-
7/24/2019 Rapport de Stage PFE MPEG DASH
44/75
Android MPEG DASH Player
Page 43
5.2.2 Ar chi tecture Logique
Produire un flux/fournir une API
Donnes chang
Demander/accepter un flux
Utiliser
La figure 22permet de modliser larchitecture logiqueglobale de notre systme. En effet,
cette figure permet de visualiser lacheminement des flux de donnes et linteraction entre les
diffrentes entits logiques de lAndroid MPEG DASH Player.
Les diffrentes entits logiques modlises dans la figure 22 sont :
La librairie Libdash
Le Dash Streaming Control
La Couche daccs auxflux.
Media Player
Media Player
Couche daccs aux flux
Dash Streaming Control : DashPlayer
Libdash
API de manipulation dufichier MPD
Librairies dedcodage
Librairiesgraphiques
Flux Audio & vido brut
Figure 22 Modlisation de l'architecture logique du Android MPEG-DASH Player
-
7/24/2019 Rapport de Stage PFE MPEG DASH
45/75
Android MPEG DASH Player
Page 44
Aprs avoir expos larchitecture logique globale de notre systme nous passons la
conception dtaille de chacun de ses composants.
5.2.3 Diagrammes de classesa-Diagramme de classes du Dash Player
On commence par le diagramme declasses de la partie Dash Streaming Control (Dash
Player).
Figure 23 Diagramme de classe du DASH Streaming Control
Comme on le remarque dans la figure 23, llment principal de lapplication Dash Player
est le DashReceiver. En effet, cette classe possde comme attributs des instances des
lments MPD, DashManager, MediaObjectBuffer et AdaptationLogic.
Le rle de chacun de ces attributs est :
-
7/24/2019 Rapport de Stage PFE MPEG DASH
46/75
Android MPEG DASH Player
Page 45
Le MPD est la classe responsable de modliser et grer toutes les oprations sur un
fichier MPD.
Le Dash Manager assure lappel de lanalyseur de fichier XML de la librairie
Libdash. Cet analyseur va tre dploy pour analyser lautre attribut du
DashReceiver, le MPD.
Le MediaObjectBuffer reprsente dans notre systme le buffer de lecture de flux
multimdia brut. Juste aprs lanalyse du fichier MPD, le buffer commence se
remplir par les segments en cours de tlchargement.
LAdaptationLogic a la charge deffectuer le choix des segments tlcharger.
Il est signaler que la mthode Notify() du MediaObjectBuffer est la mthode
responsable du calcul du taux de chargement du buffer de lecture. Cette mthode sera utile
lors de la mise en place de lalgorithme dadaptation de notre application.
b-Diagramme de classes du Android M edia Player
Dans la deuxime partie de la conception dtaille des diffrents composants de notre
systme, nous allons exposer le diagramme de classes de lapplication Android Media Player.
Daprs la figure 24, on voit que lentit principale de notre Android Media Player est le
PlayerUI. Cest une classe java qui hrite de la classe FragmentActivity(FragmenActivity est
une classe qui hrite de android.app.Activity et qui rajoute dautre mthodes comme
getSupportFragmentManager() et getFragmentManager() [Net8]). Le PlayerUI possde
comme attribut une instance de la classe PlayerControl. Cette dernire classe se charge desappels des fonctions natives (C++) assurant le lancement du streaming et du dcodage. La
classe PlayerControl construit aussi une instance de lentit PlayerView. Cette dernire entit
est la classe responsable de la construction de la surface ncessaire la visualisation de la
vido.
-
7/24/2019 Rapport de Stage PFE MPEG DASH
47/75
Android M