Vous êtes sur la page 1sur 28

TP Réseaux Mobiles

NS2 TP 3
Introduction – Evalvid
• Evalvid consiste en un Framework qui été développé
en langage de C par Klaue, Jirka qui sert à évaluer les
vidéos transmises en des réseaux réels. L’avantage
qu’Evalvid présente pour notre TP est le faite qu’il a
été adapté pour le Simulateur NS2.
• Il a été adapté à mesurer la qualité d’une vidéo
transmise pendant une simulation et non pas une
transmission réelle. Cette adaptation a été
implémentée par Chih-Heng, Ke.
• Ce dernier a intégré Evalvid avec NS2 par le billais de
classes additionnelles ajoutées dans le code de NS2
(codée en C++).
Evalvid avec le NS2
• La version d’Evalvid utilisée en notre projet est celle de
Windows 32. Le choix de la version était basé sur le système
d’exploitation.
• Les fonctions de Evalvid peuvent être exécutées en dehors de
NS2 et donc les deux systèmes ne nécessitent pas d’être
installés dans la même plateforme d’exploitation.
• Une fois l’outil Evalvid est téléchargé, il ne nécessite pas
d’être installé, car Evalvid consiste en un ensemble d’outils ou
de fonctions qui peuvent être exécutées dans la commande
de prompte de Windows (cmd).
• Les fonctions d’Evalvid dont nous ferons usage sont résumées
dans le tableau ci-dessous.
Les Outils d’Evalvid
Les Outils d’Evalvid
Intégration d’Evalvid avec le NS2
• Nous avons téléchargé le fichier myevalvid2 et
nous l’avons placé dans ns-allinone-2.34/ns-
2.34.
• L’adaptation d’Evalvid au NS2 nécessite la
création de trois classes.
• Analysons les méthode avec lesquelles ces trois
fonctions interagissent pour permettre la
transmission et l’émission d’une vidéo.
Intégration d’Evalvid avec le NS2
Intégration d’Evalvid avec le NS2
Intégration d’Evalvid avec le NS2
Intégration d’Evalvid avec le NS2
Intégration d’Evalvid avec le NS2
Code en NS 2
Outils de Codage
• Avant d’envoyer une vidéo à travers le réseau, il est
nécessaire d’encoder la vidéo. Le MPEG (Moving
Pictures Expert Group) est le standard industriel qui est
largement utilisé pour les applications multimédia
transmises en internet.
• Le codage de vidéo pour transformer la vidéo de format
CIF au format MPEG4 se fait en trois étapes:
• D’abord, la conversion du fichier CIF a un fichier Yuv en
utilisant le codec ffmpeg. Nous nous sommes servis de
la version Windows 32 de cet utilitaire de codage, pour
pouvoir l’exécuter dans la commande de Windows
comme le montre Figure ci-dessous.
ffmpeg -i akiyo_cif.264 akiyo_cif.yuv
Outils de Codage
Ensuite, le codage du fichier Yuv en fichier
MP4 se fait en passant par une forme de vidéo
intermédiaire qui est le flux de MPEG brut
M4v en utilisant la commande suivante le
codec XVID.
xvid_encraw -i akiyo_cif.yuv -w 352 -h 288 -
framerate 30 -max_key_interval 30 -o
a01.m4v
Outils de Codage
Ensuite, le codage du fichier M4V en fichier
MP4 se fait en utilisant la codec MP4Box.
Nous avons utilisé la version Windows 32 de
cet utilitaire de codage qui nécessite un fichier
msvcr70.dll

MP4Box -hint -mtu 1024 -fps 30 -add a01.m4v


a01.mp4
Génération du Fichier Trace
L’outil Evalvid contient plusieurs outils qui
permettent l’évaluation de la transmission de
vidéo dans un environnement réel ou simulé.
Dans cette section, nous explorons l’outil
primaire qui permet de générer le fichier de
trace qui est mp4trace.

mp4trace -f -s 192.168.0.2 12346 a01.mp4 >


st_a01
Transmission du Fichier Trace
• Maintenant nous transmettons ce ficher
trace en utilisant le NS 2.
• Apres, nous prenons le fichier trace qui a
été reçu par le Récepteur.
• Nous ferons les étapes inverses pour
récupérer le fichier MP4.
• Nous comparons le fichier MP4 orignal
(transmis) avec le fichier trace reçu.
Code en NS 2
Code en NS 2
Code en NS 2
Evaluation du Ficher Reçu
La fonction temps d’Evalvid est exécutée avec les commandes suivantes :

etmp4-f -0 <sd> <rd> <st> <in> <out> [PoB]

• Cette commande génère les fichiers suivants comme le montre la Figure


ci-dessous:

• Usage :etmp4 -[p|f|F] -[0|x] <sd> <rd> <st> <in> <out>


• -[p|f|F] packet, frame or complete frame mode (alternative)
• -[0|x] Remplacer les sections perdues avec 0 or les enlever
• <sd> tcpdump de l’émetteur
• <rd> tcpdump du récepteur
• <st> trace-file émis par l’émetteur
• <in> vidéo transmise originale (original mp4)
• <out> fichier mpeg4 qui représente la vidéo reçue par le récepteur
Evaluation du Ficher Reçu
• La fonction temps d’Evalvid est exécutée avec les commandes
suivantes :

etmp -f -0 <sd> <rd> <st> <in> <out> [PoB]

• Cette commande génère les fichiers suivants comme le montre


la Figure ci-dessous:

• «loss_xxx» Un fichier avec le taux de perte par trame


• «delay_xxx » Un fichier affichant les valeurs de délai de transit
par trame
• « rate_ s_» Un fichier affichant le débit momentané et
cumulative
• « rate_ r_» Un fichier affichant le débit momentané et
cumulative
Spécification du TP
Démonstration d’une vidéo transmise par NS2:
• Fichier transmis: Vidéo
• Protocol de Routage: AODV
• Nombre de nœuds: 4, 25 et 64
• Distance entre deux nœuds: 100 mètres
• Placement des nœuds en une matrice
• Mobilité: Fixe
Evaluation du Ficher Reçu

Nous considérerons aussi le PSNR un critère


qui est calculé l’outil Evalvid.
ffmpeg -i Received_MP4_File.mp4
Received_Yuv_File.yuv

psnr 352 288 420 Original_Yuv_File.yuv


Received_Yuv_File.yuv
Video Original
Simulation de 25 Nœuds AODV
Vidéo reçue
Simulation de 64 Nœuds AODV
Vidéo reçue
Travail Pratique par Groupe
 Créez les simulations suivantes avec le fichier
CIF:
 9, 25, 49 and 64 nœuds en AODV
 9, 25, 49 and 64 nœuds en DSDV
 Montrez vos résultats par des graphes en
Matlab pour montrer: Le Délai, Paquets
perdus et le PSNR.
: