Protocoles Internet pour multimédia

Transcription

Protocoles Internet pour multimédia
Internet System
Multimedia Networking Protocols
P. Bakowski
[email protected]
Protocoles Temps Réel
Real Time Streaming Protocol - un protocole hors-bande
protocole de fonctions streaming
P. Bakowski
2
Protocoles Temps Réel
Real Time Streaming Protocol - un protocole hors-bande
Real Time (transport) Protocol
protocole de transport
ils utilisent des canaux distincts
P. Bakowski
3
Protocoles Temps Réel
Real Time Streaming Protocol - un protocole hors-bande
Real Time (transport) Protocol
Real Time Control Protocol (RTCP)
e.g. contrôle du débit
P. Bakowski
4
Real-Time Streaming Protocol
Permet de contrôler la lecture des supports continus par:
pause lecture, repositionnement en avant ou après une
balise de temps, rembobinage (REW), déplacement en
avant rapide ..
P. Bakowski
5
Real-Time Streaming Protocol
Permet de contrôler la lecture des supports continus par:
pause lecture, repositionnement en avant ou après une
balise de temps, rembobinage, déplacement en avant
rapide (FF) ..
P. Bakowski
6
Real-Time Streaming Protocol
montage
RTSP
media player
serveur streaming
P. Bakowski
7
Real-Time Streaming Protocol
montage
media player
play
serveur streaming
P. Bakowski
flux de media
RTSP
8
Real-Time Streaming Protocol
montage
play
serveur streaming
media player
flux de media
RTP
P. Bakowski
9
Real-Time Streaming Protocol
montage
play
serveur streaming
media player
flux de media
démontage
RTSP
P. Bakowski
10
RTP - Real Time Protocol
PCM
GSM
MP3
flux audio
P. Bakowski
11
RTP - Real Time Protocol
P. Bakowski
PCM
GSM
MPEG
H.264
MP3
DivX
12
RTP - Real Time Protocol
PCM
GSM
MPEG
H.264
type de charge utile,
timestamp et le
numéro de séquence
P. Bakowski
MP3
DivX
RTP
13
RTP - Real Time Protocol
PCM
GSM
MPEG
H.264
type de charge utile,
timestamp et le
numéro de séquence
MP3
DivX
RTP
UDP
P. Bakowski
14
RTP - Real Time Protocol
UDP
RTP
protocole RTP
protocole de bout-en-bout, les routeurs ne sont pas
impliqués
P. Bakowski
15
RTP - Real Time Protocol
UDP
RTP
protocole RTP
session RTP
P. Bakowski
16
RTP - Real Time Protocol
UDP
RTP
protocole RTP
session RTP
multiplexage
P. Bakowski
17
Paquet RTP
RTP
12 octets
PT
SN
timestamp
type de
– 32 bits
charge – 7
bits
numéro de
séquence – 16 bits
P. Bakowski
SSRC
options
identifiant de la
source de
synchronisation –
32 bits
18
Paquet RTP– type de charge
RTP
12 octets
PT
SN
timestamp
SSRC
options
type de charge – 7 bits
PCM
GSM
MPEG
H.264
MP3
DivX
audio et vidéo
P. Bakowski
19
Paquet RTP– sequence number
RTP
12 octets
PT
SN
timestamp
SSRC
options
numéro de séquence – 16 bits
SN est incrémenté de 1 pour chaque paquet RTP
envoyé => détection de perte de paquets et la
restauration (mise en ordre)
P. Bakowski
20
Paquet RTP - timestamp
RTP
moment d’échantillonnage
12 bytes
PT
160 octets
SN
timestamp
SSRC
options
– 32 bits
Moment d’échantillonnage du premier octet dans le paquet.
P. Bakowski
21
Paquet RTP - timestamp
RTP
sampling instant
12 bytes
PT
160 octets
SN
timestamp
SSRC
options
– 32 bits
Pour l'audio, le timestamp incrémente de 1 pour
chaque période d'échantillonnage (chaque octet):
125µs - 8KHz, le timestamp augmente de 160 pour
chaque paquet RTP.
P. Bakowski
22
Paquet RTP: identification de source
RTP
160 octets
12 octets
PT
SN
timestamp
SSRC
options
SSRC - identifiant de la source de
synchronisation – 32 bits
P. Bakowski
23
Paquet RTP: identification de source
RTP
160 octets
12 octets
PT
SN
timestamp
SSRC
options
SSRC - identifiant de la source de
synchronisation – 32 bits
SSRC identifiant est un nombre que la
source attribue de façon aléatoire lorsque
le flux est lancé
P. Bakowski
24
Logiciel et RTP
Nous pouvons écrire (C ou Java) un
serveur RTP qui encapsule le flux
d’images vidéo stockées dans des
paquets RTP.
application
RTP
UDP
IP
link
physical
P. Bakowski
25
Logiciel et RTP
Nous devrons:
récupérer une trame vidéo
application
RTP
UDP
IP
link
physical
P. Bakowski
26
Logiciel et RTP
Nous devrons:
récupérer une trame vidéo
ajouter en-tête RTP y compris le
timestamp et le numéro de séquence
application
RTP
UDP
IP
link
physical
P. Bakowski
27
Logiciel et RTP
Nous devrons:
récupérer une trame vidéo
application
ajouter en-tête RTP y compris le
timestamp et le numéro de séquence
RTP
passer la trame RTP au socket UDP
UDP
IP
link
physical
P. Bakowski
28
Logiciel et RTP
Une autre approche consiste à
utiliser une classe Java RTP
(en Java Media Framework) qui
implémente les fonctionnalités RTP.
application
RTP
UDP
IP
link
physical
P. Bakowski
29
Logiciel et RTP
Nous devons:
récupérer une trame vidéo
application
RTP
UDP
IP
link
physical
P. Bakowski
30
Logiciel et RTP
Nous devons:
récupérer une trame vidéo
fournir le type de la charge utile, un
SSRC, et un timestamp
application
RTP
UDP
IP
link
physical
P. Bakowski
31
Logiciel et RTP
Nous devrons:
récupérer une trame vidéo
fournir le type de la charge utile, un
SSRC, et un timestamp
fournir le numéro de port de
destination et l'adresse IP
application
RTP
UDP
IP
link
physical
P. Bakowski
32
RTCP protocole de contrôle
Les paquets RTCP n’encapsulent pas des morceaux
audio ou vidéo.
P. Bakowski
33
RTCP protocole de contrôle
Les paquets RTCP n’encapsulent pas des morceaux
audio ou vidéo.
Les paquets RTCP sont envoyés périodiquement et
contiennent les rapports l'expéditeur et/ou récepteur.
P. Bakowski
34
RTCP protocole de contrôle
Les paquets RTCP n’encapsulent pas des morceaux
audio ou vidéo.
Les paquets RTCP sont envoyés périodiquement et
contiennent les rapports l'expéditeur et/ou récepteur.
Les rapports indiquent le nombre de paquets perdus
et la gigue entre arrivées.
P. Bakowski
35
RTCP protocole de contrôle
Les paquets RTCP n’encapsulent pas des morceaux
audio ou vidéo.
Les paquets RTCP sont envoyés périodiquement et
contiennent les rapports l'expéditeur et/ou récepteur.
Les rapports indiquent le nombre de paquets perdus
et la gigue entre arrivées.
Cette informations de feed-back est utilisée pour
modifier le débit de transmission.
P. Bakowski
36
RTCP protocole de contrôle
UDP
P. Bakowski
RTP
data
37
RTCP protocole de contrôle
P. Bakowski
UDP
RTP
data
UDP
RTCP
control
38
RTCP protocole de contrôle
UDP
RTP
data
UDP
RTCP
control
différentes ports UDP (+1)
P. Bakowski
39
Paquets RTCP
Le récepteur assemble son rapport de réception en
un seul paquet RTCP:
UDP
RTCP
control
récepteur
P. Bakowski
40
Paquets RTCP
Le récepteur assemble son rapport de réception en
un seul paquet RTCP:
le SSRC du flux RTP
UDP
RTCP
control
récepteur
P. Bakowski
41
Paquets RTCP
Le récepteur assemble son rapport de réception en
un seul paquet RTCP:
le SSRC du flux RTP
le taux de perte de paquets RTP
UDP
RTCP
control
récepteur
P. Bakowski
42
Paquets RTCP
Le récepteur assemble son rapport de réception en
un seul paquet RTCP:
le SSRC du flux RTP
le taux de perte de paquets RTP
le dernier numéro de séquence reçu
UDP
RTCP
control
récepteur
P. Bakowski
43
Paquets RTCP
Le récepteur assemble son rapport de réception en
un seul paquet RTCP:
le SSRC du flux RTP
le taux de perte de paquets RTP
le dernier numéro de séquence reçu
la gigue de l‘inter-arrivée
UDP
RTCP
control
récepteur
P. Bakowski
44
Paquets RTCP
L'expéditeur crée des paquets RTCP expéditeur:
UDP
expéditeur
P. Bakowski
RTCP
control
paquets RTCP sont empilables!
45
Paquets RTCP
L'expéditeur crée des paquets RTCP expéditeur:
la valeur de SSRC du flux RTP
UDP
expéditeur
P. Bakowski
RTCP
control
paquets RTCP sont empilables!
46
Paquets RTCP
L'expéditeur crée des paquets RTCP expéditeur:
la valeur de SSRC du flux RTP
la valeur du temps-réel du dernière paquet RTP
dans le flux
UDP
expéditeur
P. Bakowski
RTCP
control
paquets RTCP sont empilables!
47
Paquets RTCP
L'expéditeur crée des paquets RTCP expéditeur:
la valeur de SSRC du flux RTP
la valeur du temps-réel du dernière paquet RTP
dans le flux
le nombre de paquets envoyés dans le flux
UDP
expéditeur
P. Bakowski
RTCP
control
paquets RTCP sont empilables!
48
Paquets RTCP
L'expéditeur crée des paquets RTCP expéditeur:
la valeur de SSRC du flux RTP
la valeur du temps-réel du dernière paquet RTP
dans le flux
le nombre de paquets envoyés dans le flux
le nombre d'octets envoyés dans le flux
UDP
expéditeur
P. Bakowski
RTCP
control
paquets RTCP sont empilables!
49
RTCP: débit modifiable
RTP multicast session
UDP
RTCP
control
Le trafic RTCP augmente linéairement avec le nombre
de récepteurs.
P. Bakowski
50
RTCP: débit modifiable
RTP multicast session
UDP
RTCP
control
RTCP modifie le taux d'envoi vers arbre de multicast en
fonction du nombre de participants.
P. Bakowski
51
RTCP: débit modifiable
RTCP essaie de limiter la circulation à 5% de bande
passante de la session
P. Bakowski
52
RTCP: débit modifiable
RTCP essaie de limiter la circulation à 5% de bande
passante de la session
Supposons que l'expéditeur émet un flux vidéo avec le
débit de 2Mb/s
P. Bakowski
53
RTCP: débit modifiable
RTCP essaie de limiter la circulation à 5% de bande
passante de la session
Supposons que l'expéditeur émet un flux vidéo avec le
débit de 2Mb/s
Dans ce cas RTCP essaie de limiter son trafic à
100Kb/s, le protocole donne 75% (75 Kb/s) pour les
récepteurs et 25% à l'expéditeur
P. Bakowski
54
RTCP: débit modifiable
RTCP essaie de limiter la circulation à 5% de bande
passante de la session
Supposons que l'expéditeur émet un flux vidéo avec le
débit de 2Mb/s
Dans ce cas RTCP essaie de limiter son trafic à
100Kb/s, le protocole donne 75% (75 Kb/s) pour les
récepteurs et 25% à l'expéditeur
S'il y a R récepteurs, chaque récepteur envoie le
trafic RTCP à un taux de 75Kbps/R et l'expéditeur envoie
le trafic RTCP de 25Kbps/R
P. Bakowski
55
Résumé
Real-Time Protocols
protocole RTSP
protocole RTP
protocole RTCP
P. Bakowski
56

Documents pareils