0% ont trouvé ce document utile (0 vote)
97 vues40 pages

Cours

Transféré par

Yanis Yanis
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
97 vues40 pages

Cours

Transféré par

Yanis Yanis
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Vidéo et Voix sur IP

Dr. Yahia Benmoussa

[email protected]
Table des matières
1 Représentation numérique de la vidéo......................................................4
1.1 Échantillonnage spatiale...........................................................................4
1.1.1 Représentation Noir-et-blanc..................................................................5
1.1.1 Représentation RGB...............................................................................5
1.2 Échantillonnage temporelle......................................................................6
1.3 Nécessité de la compression des données vidéo......................................7
2 Principes de la compression Vidéo............................................................7
2.1 Représentation YUV..................................................................................7
2.2 Corrélation spatiale et temporelle............................................................8
2.2.1 Corrélation spatiale................................................................................8
2.2.2 Corrélation temporelle............................................................................9
2.3 Compression sans-perte (lossless) et avec-perte (lossy)..........................9
2.3.1 sans-perte ............................................................................................. 9
2.3.2 avec-perte ............................................................................................. 9
2.4 Standard de compressions vidéo..............................................................9
2.4.1 Le standard H.264................................................................................10
2.4.1.1 Prédiction.............................................................................................10
2.4.1.2 DCT.....................................................................................................10
2.4.1.3 Quantification......................................................................................10
2.4.1.4 Codage entropique...............................................................................10
2.5 Type d’image I,P,B...................................................................................11
3 Les conteneurs vidéo.............................................................................. 12
4 Transmission de la vidéo sur les réseaux IP.............................................12
4.1 Video over HTTP......................................................................................12
4.1.1 Avantages............................................................................................ 12
4.1.2 Inconvénients.......................................................................................13
4.2 RTP : Real Time Protocol.........................................................................13
4.3 Protocoles de signalisation RTSP et RTCP...............................................13
5 Transmission unicast vs multicast...........................................................15
5.1 Les adresses multicast............................................................................15
5.2 Avantage du multicast............................................................................16
6 Les proxy RTSP/RTP................................................................................. 16
6.1 Proxy Unicast-Unicast.............................................................................16
6.2 Proxy Unicast-Multicast...........................................................................16
7 Téléphonie sur IP..................................................................................... 17
7.1 Définition.................................................................................................17
1.2 Téléphone physique................................................................................17
7.1.1 Téléphone logiciel (soft phone).............................................................17
7.2 Protocole de transport............................................................................17
7.3 Protocole de signalisation.......................................................................18
7.4 Le protocole SIP......................................................................................18
7.5 Modèle de communication SIP................................................................18
8 Visio-conférence...................................................................................... 22
1 TD N°1 : Compression vidéo....................................................................24
2 TD N°2 : RTSP/RTP................................................................................... 26
3 TD N°3 : Proxy RTP/RTSP.........................................................................28
4. TD N° 4 : Session Initiation Protocol (SIP).................................................30
4 TP N°1 : Compression vidéo....................................................................32
4.1 Format YUV.............................................................................................32
4.2 Compression H.264.................................................................................32
5 TP N°2 : Transmission unicast de la vidéo via un réseau.........................34
5.1 Téléchargement progressif......................................................................34
5.2 Transmission vidéo en RTP/RTSP.............................................................34
5.3 Transmission vidéo en temps réel avec RTP/RTSP..................................35
6 TP N°3 : Transmission video multicast.....................................................36
7 TP N°4 : Proxy vidéo................................................................................ 37
7.1 Proxy RTSP Unicast->Unicast..................................................................37
7.2 Proxy Unicst-Multicast.............................................................................38
8 TP N° 5 :Session Initiation Protocole : Serveur SIP...................................39
8.1 Installation et exécution du serveur kamailio.........................................39
8.2 Installation et configuration de twinkle...................................................39
8.3 Installation et configuration de linphone sous android...........................40
8.4 Test de l’installation................................................................................40
1 Représentation numérique de la vidéo

Pour représenter numériquement une vidéo, on doit comprendre comment est


représenter une photo numérique en utilisant l’échantillonnage spatiale.

1.1 Échantillonnage spatiale

Illustration 1: Échantillonnage spatiale d'une image

L’échantillonnage spatiale consiste à diviser une image en de petite parties


élémentaires appelée « pixel ». Ensuite, dans un dispositif acquisition
numérique d’image (Ex. Caméra), une image est projetée sur un capteur
photo-sensible qui est composé d’une matrice de micro-capteurs. Chaque
micro-capteur génère un signal électrique analogique dont la tension est
proportionnelle à l’intensité de la lumière. Ce signal est ensuite numérisé avec
un convertisseur A/N. Par exemple si la numérisation est sur 8 bits, alors un
pixel avec une intensité lumineuse maximale est représenté par le nombre 255
(2⁸-1) et le pixel avec une intensité lumineuse minimale est représenté par 0.
1.1.1 Représentation Noir-et-blanc

Le format de représentation d’une mage ou chaque pixel est représente par un


seul nombre reflétant son intensité lumineuse est dit noir-et-blanc. Dans ce
cas, la taille d’une image numérique est déterminé par sa résolution qui est
définie par le nombre de lignes (hauteur) et de colonnes (largeur) de la matrice
d’échantillonnage. Par exemple :

 Une image HD, c’est 1280 (colonnes) x 720(lignes) = 921600 octets

 Une image Full DH, c’est 1920 (colonnes) ×1080 (lignes) = 2073600
octets.

1.1.1 Représentation RGB

Pour représenter une image en couleur, chaque pixel est divisé en 3


composantes de couleurs principales : Rouge, Vert et Bleu. Cette
représentation est appelée : RGB. Par exemple, le jaune est la composition du
rouge et du vert tel que illustré dans la figure 2. La figure 3 montre des
exemples de code RGB de plusieurs couleurs. Ainsi, dans la représentation
RGB, chaque pixel est codé à l’aide de 3 octets.

Illustration 2: Représentation RGB


Illustration 3: Exemples de couleurs RGB

1.2 Échantillonnage temporelle

L’échantillonnage temporelle consiste à effectuer des échantillonnages spatiaux


périodiquement, par exemple, 10 fois par seconde. La fréquence
d’échantillonnage est appelée FPS : Frame per second.

L’affichage consécutifs des image ainsi capturé donne l’illusion d’un mouvement
de l’image. Pour que l’œil humaine ne s’aperçoive pas de la coupure entre
deux images consécutive, il faut que le FPS soit supérieur à 24 image par
seconde.
1.3 Nécessité de la compression des données vidéo

Quel serait la taille d’un filme en codage RGB et ayant les propriétés suivantes :

 Résolution : Full HD : 1980x1080

 FPS : 30

 Durée : 2 Heures

Taille en octet = 1920x1080x3*30*3600*2= 1.34×10¹² octets = 1251 GO. Soit


environ 1.2 terra-octet !

Le codage RGB est un format non-compressé qui nécessite des capacités de


stockage énorme qui rend difficile la transmission des données vidéo.

2 Principes de la compression Vidéo

L’objectif de la compression vidéo est de réduire la taille des données vidéo afin
de faciliter leur transmission. Dans ce qui suit nous présenterons les principales
techniques utilisé pour la compression des données vidéo.

2.1 Représentation YUV

La représentation YUV a comme objectif de transformer le codage RGB en un


espace colorimétrique en trois composantes. La première, Y, représente la
luminescence U et V, représentent la chrominance selon la formule illustrée ci-
dessous.

Illustration 4: Conversion RGB/YUV

L’œil humaine étant moins sensible aux couleurs qu ‘à la luminescence, on peut


sous-échantillonner les composantes de couleurs sans que l’œil humaine ne
s’en aperçoive.
Par exemple, avec un sous-échantillonnage 4 :2 :0, un groupe de 4 pixel
nécessite donc 4 composantes Y et 1 composante Y et 1 composante V. La
taille nécessaire pour représenter ce groupe de 4 pixel est de 6 octets à la
place 12 octets en format RGB. La taille de stockage est réduite de 50 %

2.2 Corrélation spatiale et temporelle

Une autre technique utilisée dans la compression des données vidéo est
l’exploitation de la redondance des données. En effet, à la place d’envoyer
toutes les données vidéo, on envoie que les plus importantes Di. Les données
qui se répètent Dr, on les envoie sous forme de (D, R, V) ou

 Di : est la donnée dont dépend Dr

 R : les résidus qui représente Di - Dr

 V : Vecteur de mouvent qui précise l’emplacement de Di.

2.2.1 Corrélation spatiale

Dans le cas ou la redondance de données se produit dans la même image on


parle de corrélation spatiale. Par exemple, c’est le cas ou une image contient
un arrière plan qui ne varie pas d’une zone à une autre.
2.2.2 Corrélation temporelle

Dans le cas ou la redondance de données se produit entre des images


différentes, on parle de corrélation spatiale. Par exemple, c’est le cas ou un
objets se déplace dans le temps d’une zone de l’image vers une autre.

2.3 Compression sans-perte (lossless) et avec-perte


(lossy)

La compression de données en générale est de deux types :

2.3.1 sans-perte

Dans ce cas, on peut récupérer les données originales entièrement à partir de


la donnée compressée

2.3.2 avec-perte

Dans ce cas, on ne peut récupérer que partiellement les données originales à


partir des données compressées.

2.4 Standard de compressions vidéo

Il existe plusieurs standards de compression vidéo. On peut citer comme


exemple les standards développés par :
 MPEG (Moving Picture Expert Group) tels que MPEG2, H264,
H265 (HEVC)

 Google : VP8 et VP9

 Alliance for Open Media : AV1

2.4.1 Le standard H.264

Malgré qu’il est assez ancien (2003), H.264 est l’un des standard de
compression les plus utilisés. Dans H.264, chaque image est divisé en groupes
de 16x16 pixels appelés macro-bloc (MB). Sur ces MB, on appliques les
traitent décrit ci-dessous.

2.4.1.1 Prédiction

La prédiction consiste à trouver les corrélations spatiales (Intra-prédiction) ou


temporelle (inter-prédiction) entre les différents MB contenu dans les images
(frames). Le résultat de ce traitement est un MB de référence, des résidus R et
un vecteur de mouvement V.

2.4.1.2 DCT

La Transformée de Fourrier Directe a pour objectif de hiérarchiser l’information


selon sa priorité. En effet, l’information importante va se voir affectée un
coefficient élevé et l’information la moins importante va se voir affectée un
coefficient faible.

2.4.1.3 Quantification

Cette phase a pour objectif à éliminer l’information la moins importante en


divisant par un coefficient appelé QP (Quantification parameter). Tous les
coefficients de Fourrier en dessous de QP seront annulés. L’information
associée à ces coefficient sera perdu définitivement. C’est ici que se produit
la perte d’information.

2.4.1.4 Codage entropique

Le codage entropique permet d ‘améliorer encore la compression de données


en utilisant un algorithmes de compression sans perte.
Illustration 5: Étapes de la compression H.264

2.5 Type d’image I,P,B

Dans le standard H.264, il existe 3 types d’images :

 Image I (Intra) : c’est une image dont tous les MB dépendent d’autres
MB qui se trouvent dans l’image elle-même.

 Image P (Past): C’est une image dont les MB dépendent d’autres MB


qui se trouvent dans l’image elle-même ou dans une image passée.

 Image B (Past): C’est une image dont les MB dépendent d’autres MB


qui se trouvent dans l’image elle-même, dans une image passée ou dans
une image future.

On note que si la vidéo est destiné à être transmise en réseau, il est


recommandé d’insérer 1 image de type I chaque 1 seconde pour améliorer la
mésalliance par rapport à la perte de paquet. En effet, si une image I est perdu
alors toutes les images dépendant ne pourront pas être décodés. Un Groupes
d’image qui commence par une image I suivie par plusieurs image de type P ou
B est appelé GOP (Group of Picture).
3 Les conteneurs vidéo

4 Transmission de la vidéo sur les réseaux IP


4.1 Video over HTTP

Le moyen le plus simple de transmettre de la vidéo via les réseau IP est


d’utiliser le protocole HTTP. Le contenu vidéo peut être hébergé au niveau d’un
serveur Web puis récupéré et décodé par un navigateur Web.

4.1.1 Avantages

 Simplicité

 N’est pas bloqué pas les fare-feu

 Possibilité d’utiliser l’infrastructure existante.


4.1.2 Inconvénients

 Grande latence

 Manque de contrôle : Il faut télécharger la vidéo puis la décoder.

 Lenteur à cause de l’utilisation de TCP.

 Support du mode Unicast seulement.

4.2 RTP : Real Time Protocol

RTP (Real Time Protocol) est un protocole dédié au transport des données
multimédia (vidéo et audio). RTP est un protocole de la couche application et peut
utiliser UDP ou TCP. Dans le cas du protocole UDP, les deux modes de transport
unicast et multicast sont supportés.

Dans un paquet RTP, on etrouve principalement des information sur le temps


associé au données multimédia (timestamp).

Illustration 6: Format d'un paquet RTP

4.3 Protocoles de signalisation RTSP et RTCP

Le protocole RTP est souvent utilisé conjointement avec des protocoles de


signalisation tels que RTSP et RTCP.

RTSP(Real Time Streaming Protocole) permet de d’échanger des information


de contrôle entre un client multimédia et un serveur multimédia. Par ailleurs,
RTCP (Real Time Control Protocol) permet d’échanger périodiquement des
informations sur la qualité de service entre le client et le serveur.

La figure ci-dessous explique les étape pour l’établissent d’une session


multimédia entre un client et un serveur :
 OPTIONS : Ce message demande au serveur de préciser toutes le
commandes RTSP supportées. Le serveur peut répondre par :
OPTIONS. DESCRIBE, SETUP, PLAY, PAUSE, TEAR DOWN.

 DESCRIBE : Ce message demande au serveur d’envoyer une


description du média que le client souhaite récupérer. Le serveur répond
par exemple par le type (audio ou vidéo) ainsi que le standard de
compression utilisé (Ex. H.264).

 SETUP : Ce message précise au serveur les numéro de port que client


souhaite utiliser pour la réception des donnée multimédia. Il doit préciser
2 numéros de port consécutifs : le premier pour RTP et le second pour
RTCP. Le serveur répond à sont tour par les deux numéro de port source
qu’il va utiliser pour envoyer les paquets RTP et RTCP.

 PLAY : Ce message demande au serveur de commencer la diffusion


des données multimédia ainsi que les messages RTCP Send Report
(SR).

 PAUSE : Ce message demande au serveur d’arrêter la diffusion des


données multimédia ainsi que les messages RTCP Send Report (SR).

 TREAR DOWN : Ce message demande au serveur de terminer le


session multimédia en cours.
Illustration 7: RTSP, RTP et RTCP

5 Transmission unicast vs multicast

Le multicast est plus efficace que l'unicast pour diffuser des contenus
simultanément vers une large audience. En streaming unicast, on envoit
l'information autant de fois qu'il y a de connexions, d'où gaspillage de temps, de
ressources du serveur et surtout de bande passante.

Le multicast IP diffère également du broadcast, puisque le message est


seulement délivré à un groupe auparavant annoncé à l'expéditeur, et non à tous
les utilisateurs du réseau. En multicast, chaque paquet n'est émis qu'une seule
fois et sera routé vers toutes les machines du groupe de diffusion sans que le
contenu soit dupliqué sur une quelconque ligne physique ; c'est donc le réseau
qui se charge de reproduire les données.

5.1 Les adresses multicast

La communication multicast se fait en UDP vida des adresse IP réservée


appartenant à l’une des plages suivantes :

 224.0.0.0/8

 232.0.0.0/8

 233.0.0.0/8

 239.0.0.0/8

5.2 Avantage du multicast

La transmission vidéo multicast permet d’optimiser :

 Les ressources de calcul au niveau du serveur (la duplication de paquets


est faite au niveau du réseau).

 La bande passante entre la source multicast et les clients

6 Les proxy RTSP/RTP


Les proxy RTSP/RTP sont de deux types :

6.1 Proxy Unicast-Unicast


6.2 Proxy Unicast-Multicast
7 Téléphonie sur IP

7.1 Définition

La téléphonie IP désigne un mode de téléphonie qui utilise le protocole IP afin


d’acheminer toutes les communications téléphoniques. Elle a pour objectif de
fournir une expérience utilisateur semblable à celle de la téléphonie classique à
base de Réseau Téléphonique Commuté (RTC).

Les terminaux servant au utilisateur s d’effectuer des appels téléphonique via


les réseau IP sont de deux types :

1.2 Téléphone physique

Il est semblable au téléphone classique, cependant il se connecte au réseau IP


via une prise RJ45.

Téléphone IP Cisco

7.1.1 Téléphone logiciel (soft phone)

Il peut être installé sous forme d’une application sur différent type de système
d’exploitation (Windows, Linux, Mac, Android).

7.2 Protocole de transport

En général, pour acheminer les donnée multimédia, on utilise dans la


téléphonie sur IP, le protocole RTP.
7.3 Protocole de signalisation

Par contre, pour la signalisation, la téléphonie sur IP utilise un protocole adapté


qui offre plus de possibilités par rapport à RTSP pour la gestion de :

 la mobilité des utilisateurs.

 le renvoi des d’appels.

 État des utilisateurs (Injoignable, occupé, en cours d’appel, ...).

7.4 Le protocole SIP

Le protocole SIP gère la signalisation pour établir la connexion entre deux


utilisateurs SIP. Il est basé sur le format texte comme RTSP et HTTP.

SIP utilise le port 5060 et supporte les protocole TCP ou UDP contrairement à
RTSP qui ne supporte que TCP.

7.5 Modèle de communication SIP

Dans une communication SIP, on retrouve deux types d’agent :

 UAC ( User Agent Client ) : Un agent qui envoi une requête SIP

 UAS ( User Agent Server ) ; Un agent qui reçoit une requête SIP et répond
par une message.

Un élément dans un réseau SIP peut être UAC et UAS en même temps. Par
exemple, un soft-phone qui initie un appel est un UAC. Il devient un UAS s’il
reçoit un appel.

Pour qu’une session d’appel soit établie entre deux agents, il est nécessaire
d’utiliser des serveurs SIP. Il en existent plusieurs types :

 Registrar : Un serveur qui gère l’enregistrement, l’authentification et la


localisation des agents. Il garde une correspondance entre l’identifiant SIP
d’un agent et son adresse IP. Il est souvent localisé dans le proxy.

 Proxy : Un serveur qui reçoit les requêtes SIP des agent, localise le
destinataire et route l’appel vers le destinataire final ou un autre proxy.
La figure ci-dessous explique les étapes de l’établissent d’une session
multimédia entre deux utilisateur SIP :

1. Chaque agent doit s’enregistrer au niveau du serveur Registrar.

2. Le registrar confirme que l’enregistrent d’est effectué correctement.

3. L’appelant (ALICE) initie un appel vers l’appelant (BOB) en envoyant un


message INVITE vers le proxy.

4. Le Proxy envoie une requête au serveur Registrar pour trouver la


localisation de l’anget de Bob

5. Le Registrar répond par la localisation de l’UAS de Bob.

6. Le proxy envoie un message INVITE à l’UAS de Bob.


7. L’UAS de Bob envoie un message RINGING au proxy pour l’informer
que le destinataire en entrain d’être notifié de l’appel.

8. Le Proxy retransmet le message RINGING vers l’UAC de Alice.

9. Quand l’UAS de Bob décroche, il envoie un message OK (INVITE) au


proxy.

10. Le Proxy retransmet le message OK (INVITE) vers l’UAC de Alice.

11. L’UAC de Alice envoie un message ACK au Proxy.

12. Le proxy retransmet le message ACK vers l’UAC de Alice.

La communication entre Alice et Bob peut commencer en utilisant RTP et sans


passer par le proxy.

Les informations sur les media ainsi que les numéros de ports RTP sont
négociés dans le les message :

 INVITE pour le type de média et les numéro de port RTP de l’appelant

 OK (INVITE) pour le type de média et les numéro de port RTP de


l’appelé.
8 Visio-conférence
Travaux Dirigés
1 TD N°1 : Compression vidéo

Exercice 1

Quelles est la taille en octets de la séquence vidéo ayant les propriétés


suivantes ?

◦ durée : 1 mn
◦ FPS : 25
◦ résolution : CIF (352x240)

avec chacun des codages suivants :

◦ RGB
◦ YUV
◦ H.264

Exercice 2

1. Soit une vidéo full HD (1920x1080) d’une durée de 1 heure et 30 minutes


et d’un FPS de 30. Quel est le tau de compression H.264 nécessaire
pour :

a) pouvoir enregistrer la vidéo dans un DVD de 4.3 GO


b) transmettre la vidéo dans une réseau d’une bande passante de 4
Mb/s

2. Définir les différents type d’images dans le standards de compression


H.264.
3. Comparer entre les tailles des différents type d’images dans H.264 puis
expliquer cette différence.
4. Expliquer la phase de quantification dans H.264
5. Pourquoi la perte d’information dans la phase de quantification H.264
est irréversible.

Exercice 3

Soit une camera IP d’une résolution HD (1280x720) et d’un FPS de 25. On


dispose de 100 Go sur le disque pour stocker les enregistrements de cette
camera. Quelle est la durée d’enregistrement maximale si la vidéo de la camera
est enregistrée en :
◦ YUV
◦ H264 avec un bitrate de 2 MO/s

1. Pourquoi les images de type I ont une taille plus grande que les images
de type P ?
2. Quel est la définition d’un conteneur multimédia. Citer 3 exemples.
2 TD N°2 : RTSP/RTP

Exercice 1 :

1) Expliquer le rôle de chacun des protocoles suivants :

a) RTSP
b) RTP
c) RTCP

2) Montrer les différentes étapes de l’établissent d’une connexion


RTSP/RTP en expliquant le rôle de chaque message.

3) A quel étape se fait le choix du protocole de trasport UDP ou TCP ?

4) Quels sont les avantages et les inconvénients de la diffusion vidéo en


RTP/TCP par rapport à RTP/UDP ?

5) Quel est le numéro de port standard de RTP ?

6) Comparer en la latence de protocoles suivants pour la transmission de la


vidéo

a) RTP over TCP


b) HTTP
c) RTP over UDP

Exercice 2

1) Peut-on diffuser de la vidéo RTP/TCP en multicast ? Expliquer votre


réponse.

2) Expliquer l’avantage de la transmission vidéo multicast par rapport à


unicast.

3) Expliquer le cas ou il est impossible d’utiliser le multicast entre le serveur


et le client de vidéo streaming ?
Exercice 3

Dans un tableau, préciser et justifier le protocole de transport vidéo (HTTP,


RTP) le protocole de transport réseau (TCP ou UDP) et le mode de transport
(unicast/multiast) utilisés pour chacune des applications suivantes :

a) IP TV dans un réseau local


b) Vidéo surveillance dans une réseau local
c) Vidéo surveillance dans dans Internet
d) VoD (Youtube, Netflix, ...) dans internet
e) Diffusion des horaires de départ/arrivée des vols dans une un grand
aéroport.

protocole de protocole de Justification


transport vidéo transport réseau
1
2
3
4
5
3 TD N°3 : Proxy RTP/RTSP

Exercice 1

Les Camera-1 (2MO/s) et Camera-2 (3 MO/s) sont dans Internet. Le


Client-1 et Client-2 accèdent à la Camera-1 via un proxy unicast et
unicast. Les Client-3, Client-4 et Client-5 accèdent à Camera-2 via un
proxy unicast/mulitcast.

Calculer la bande passante utilisée dans Internet et dans le réseau


local.
Exercices 2

Montrer par un schéma la localisation de la charge de calcul de l’utilisation de la


bande passante dans chacun des cas suivants :

1. Connexion direct entre les clients RTP et le serveur RTP

2. Connexion entre les clients RTP et le serveur RTP via un proxy Unicast-
Unicast

3. Connexion entre les clients RTP et le serveur RTP via un proxty


Unicast-Multicast
4. TD N° 4 : Session Initiation Protocol (SIP)
Exercice 1 :

1. Quelles sont les fonctionnalités supplémentaire offerte par SIP par


rapport à RTSP ?

2. Quel est le role des serveur Registrar et Proxy dans un réseau SIP ?

3. Expliquer l’établissement d’une session SIP entre deux utilisateurs via


un proxy en montrant le cheminement des messages SIP et RTP.

4. Dans quel phase se fait la négociation des ports RTP dans SIP ?
Travaux Pratiques
4 TP N°1 : Compression vidéo

Objectif :

 Comprendre les format de représentation de vidéo non compressés RGB


et YUV.

 Maîtriser la compression vidéo avec ffmpeg

 Estimer le taux de compression d’un codeur vidéo

4.1 Format YUV

Télécharger ce fichier RGB et l’enregistrer sous le nom video.rgb. La résolution de ce


fichier est 352x288.

3. Trouver la taille du fichier à l’aide de la commande Linux du

4. Convertir ce fichier au format yuv à l’aide de la commande :

ffmpeg -pix_fmt rgb24 -s 352x288 -i video.rgb -pix_fmt yuv420p video.yuv

5. Comparer la taille du fichier YUV avec celle du fichier RGB.

6. Sachant que le FPS=30, trouver le nombre de frames (images) contenues dans


cette séquence vidéo ainsi que sa durée.

4.2 Compression H.264

f) A l’aide de ffmpeg, compresser le fichier video.yuv dans un ficher video.264 en


utilisant le standard vidéo 264.

g) Compresser video.yuv dans un fichier video.mkv.

h) Retrouver les propriétés de compression de ce ficher à l’aide de la commande


ffprobe.

i) Calculer le taux de compression réalisé par H.264 après l’encodage de ce


fichier.
Rappel commande ffmpeg

ffmpeg -s 176x144 -r 30 -i video.yuv -r 15 -b:v 128k -v:c h264 video.264

-s -> la résolution de la vidéo

-r -> le FPS de la vidéo

-i -> le nom du fichier d’entrée

-b :v -> le bitrate de la vidéo de sortie. Exemples :

 128k c’est 128 kb/s.

 1m, c’est 1mb/s.

-v:c -> le nom du standard de compression. Exemples :

 h264

 hevc

 vp8

 vp9

Remarques :

 Toutes les options qui viennent avant le nom de fichier d’entré


concernent le fichier d’entrée.

 Toutes les options qui viennent après le nom de fichier d’entré


concernent le fichier de sortie.
Cours Vidéo et Voix sur IP

5 TP N°2 : Transmission unicast de la vidéo via un réseau

Objectifs :

 Comprendre les différents protocole de transmission vidéo :

◦ Téléchargement progressif avec HTTP

◦ Temps réel avec RTSP/RTSP

▪ live555MediaServer sous Linux

▪ « RTSP camera server » sous Android

5.1 Téléchargement progressif

On utilise le mode téléchargement progressif via HTTP afin de pouvoir transmettre le


fichier vidéo « video.mp4 » (généré lors du précédant TP). Pour réaliser cet objectif, il est
demandé de :

1. Installer le serveur Web apache puis enregistrer le fichier video.mkv dans le


répertoire /var/www/html

2. Accéder au contenu de ce fichier à partir d’un navigateur Web

3. Créer une page HTML avec une balise <video> qui accède au contenu du fichier
video.mp4 hébergé au niveau du serveur.

4. Quels sont les avantage et les inconvénient du téléchargement progressif des


vidéo.

5.2 Transmission vidéo en RTP/RTSP

On utilise les protocole RTSP/RTP afin de transmettre le fichier vidéo « video.mkv »


(généré lors du précédant TP). Pour réaliser cet objectif, il est demandé de :

1. Installer le serveur multimédia live555 avec la commande apt-get install

# sudo apt-get install livemedia-utils

Remarque : si le package livemedia-utils n’est pas disponible, vous pouvez faire une
installation à partir des sources :

34
Cours Vidéo et Voix sur IP

$ wget https://download.videolan.org/pub/contrib/live555/live.2023.01.11.tar.gz

$ tar xvzf live.2023.01.11.tar

$ cd live

$ ./genMakefile linux

$ make

$ sudo make install

2. Créer un répertoire « media » puis copier le ficher video.mkv dans ce répertoire


puis exécuter la commande live555MediaServer dans ce répertoire.

3. Noter l’URL pour accéder au contenu multimédia disponible dans le serveur


live555MediaServer. Quel protocole utilise live555MediaServer et sur quel numéro
de port il écoute ?

4. A l’aide de la commande ffplay, accéder au fichier video.mkv en utilisant RTSP/RTP.


(ffplay rtsp://@ IP/video.mkv)

5. Refaire l’opération en exécutant un analyseur de paquets réseaux en même temps.


Trouver les numéro de port RTP et RTCP puis identifier les commande RTSP de
base.

5.3 Transmission vidéo en temps réel avec RTP/RTSP

Dans cette exercice, on utilise l’application mobile RTSP Camera pour simuler une caméra
de vidéo surveillance avec un smartphone.

1. Installer l’application « RTSP camera server » dans votre smartphone.

2. Configurer votre smartphone comme « point d’accès » en activant le partage de la


connexion puis connecter votre PC au réseau Wifi de votre smartphone.

3. Activer la capture vidéo dans l’application « RTSP camera server » et noter


l’adresse IP de votre smartphone.

4. Sur votre PC, afficher la capture vidéo de l’application « RTSP camera server »
avec la commande ffplay rtsp://@IP:5554

35
Cours Vidéo et Voix sur IP

6 TP N°3 : Transmission video multicast

Objectifs :

 Comprendre les avantage de la transmission vidéo multicast par rapport à la


transmission vidéo unicast.

Exercice 1

1. Créer un répertoire « media » puis copier le ficher test.ts dans ce répertoire puis
exécuter la commande testMPEG2TransportStreamer sans ce répertoire.

2. Exécuter en suite la commande ffplay rtp://@239.255.42.42:1234.

3. Que représente l’adresse 239.255.42.42 ?

4. Exécuter plusieurs instance de la commande ffplay rtp://@239.255.42.42:1234


puyis évaluer l’impact sur la bande passante.

36
Cours Vidéo et Voix sur IP

7 TP N°4 : Proxy vidéo

Objectifs :

 Comprender les avatange de l’utilisation des proxy

◦ unicast-unicast

◦ unicast→ mulitcast

7.1 Proxy RTSP Unicast->Unicast

On propose d’améliorer les performance su streaming RTSP/RTP en utilisant un proxy.


L’objectif du proxy est de maintenir une seul connexion RTSP/RTP avec la caméra et de
la distribuer vers plusieurs client RTSP/RTP. Pour réaliser cet objectif :

5. Exécuter live555ProxyServer rtsp://@ camera:5554 puis noter l’URL de connexion


affiché par le proxy.

6. Sur les PCs, utiliser l’URL rtsp://@ proxy:8554/proxyStream pour se connecter à la


caméra via le proxy.

7. Quel est l’avantage d’une telle solution ?

4) Avec l’outils gnome-system-monitor, évaluer, en terme de nombre de PC, la bande


passante entre le proxy les PC.

37
Cours Vidéo et Voix sur IP

7.2 Proxy Unicst-Multicast

Afin d’optimiser l’utilisation de la bande passante, on se propose d’utiliser un proxy RTP


unicast vers mulitcast. Ce proxy se connecte à une caméra RTSP en unicast puis diffuser
la vidéo en mulitcast vers plusieurs PC. Pour réaliser cet objectif :

2. Installer vlc

3. Exécuter la commande

cvlc rtsp://192.168.43.1:5554 --sout


'#rtp{dst=239.255.42.42,port=1234,name=stream,
sdp=file:///tmp/camera.sdp}'

4. Récupérer le fichier sdp générer puis le copier sur le PC

5. Que contient ce fichier ?

6. Sur les PC, exécuter la commande ffplay camera.sdp

7. Avec l’outils gnome-system-monitor, évaluer, en terme de nombre de PC, la bande


passante entre le proxy les PC.

38
Cours Vidéo et Voix sur IP

8 TP N° 5 :Session Initiation Protocole : Serveur SIP

Objectif du TP

 Mettre en œuvre un serveur SIP avec kamailio pour implémenter les fonctionnalité
Registrar et Proxy.

 Utiliser le soft-phone Twinkle sous Linux

 Utiliser le soft-phone linphone sous Android

 Établir un appel SIP entre Twinkle (Linux) et Linphone (Android) via le proxy
kamailio (Linux).

8.1 Installation et exécution du serveur kamailio

Sous Linux, installer les packages kamailio puis vérifier qu’il écoute bien sur les numéro
de port TCP et UDP 5060.

$ apt-get install kamailio

$ sudo systemctl start kamailio

$ netstat -apn –inet | grep kamailio

8.2 Installation et configuration de twinkle

$ apt-get install twinke

Exécuter twinkle puis créer un profile avec les propriétés suivantes :

 Nom utilisateur : 100

 Adresse proxy : mettre l’adresse du serveur kamailio

 protocole de transport : UDP

Remarque : si vous exécutez twinkle sur le même ordinateur de kamailio,


configurez un autre numéro de port SIP différent (Ex. 5070) dans les paramètres réseau
pour éviter un conflit de port.

39
Cours Vidéo et Voix sur IP

8.3 Installation et configuration de linphone sous android

Installer linphone à partir de Google Play Store.

Exécuter linephone puis créer un profile avec les propriétés suivantes :

 Nom utilisateur : 200

 Adresse proxy : mettre l’adresse du serveur kamailio

 protocole de transport : UDP

8.4 Test de l’installation

Vérifiez que les deux clients sont connectés à kamailio puis effectuez un appel à partir de
Twinke vers linphone.

Dans wireshark, retrouvez les messages SIP INVITE et RINGING.

40

Vous aimerez peut-être aussi