lUniversit Pierre et Marie Curie, le 8 mars 2004
Ma trise Polyvalente
Internet et Multim dia
Cours 5 : Streaming et Signalisation
Timur FRIEDMAN
transparents adapt s de &RPSXWHU(cid:3)1HWZRUNLQJ
copyright 1996-2002 J.F. Kurose et K.W. Ross
une partie des traductions gr ce Kav SALAMATIAN
Plan
n Applications multim dia
n Streaming daudio et
vid o stock s
n RTSP
n Exemple de linteractive:
t l phonie sur IP
n Applications en temps-
r el
n SIP
1
2
Applications multim dia
n Les classes dapplications
n VWUHDPLQJ daudio et vid o stock s
n VWUHDPLQJ daudio et vid o en direct
n audio et vid o interactives en temps r el
n VWUHDPLQJ = la lecture en transit
n Les caract ristiques
n sensible aux d lais
n de bout en bout
n la gigue
n r sistant aux pertes
Streaming daudio et vid o stock s
n media est stock la source
n transmis au client
n streaming : le client commence la
lecture DYDQW la fin de la r ception
n contrainte temporelle pour les donn es
qui restent transmettre :
n quelles arrivent temps pour la lecture
3
4
Le streaming
s
e
n
n
o
d
e
d
t
i
t
n
a
u
Q
2. vid o
envoy e
1. vid o
enregistr e
GpODL
UpVHDX
3. vid o re ue,
lecture par le client
temps
VWUHDPLQJ(cid:29) A cet instant, le client
commence afficher la vid o alors
que le serveur continue de transmettre
le reste de la vid o
Lint ractivit et les donn es stock es
n )RQFWLRQQDOLWp(cid:3)PDJQpWRVFRSH(cid:3)(cid:29) le
client peut arr ter, rembobiner,
avancer
n d lai initial de 10 sec OK
n 1-2 sec avant l xecution de la
commande OK
5
6
Streaming daudio et vid o en direct
Exemples
n radio par Internet
n transmission des matches sportives
Streaming
n m moire tampon pour la lecture
n la lecture peut seffectuer plusieurs dizaines de
secondes apr s la transmission
n il y a toujours des contraintes temporelles
Interactivit
n avancer impossible
n rembobiner, pause possible
Audio et vid o interactives en temps r el
n applications : t l phonie sur IP,
visioconf rence, jeux interactifs,
mondes virtuels
n d lai de bout en bout requis :
n audio : < 150 ms bon, < 400 ms OK
n vid o : < 150 ms
n Le d lai inclue le traitement par lapplication :
n mise en paquets
n compression
7
8
Plan
n Applications multim dia
n Streaming daudio et
vid o stock s
n RTSP
n Exemple de linteractive:
t l phonie sur IP
n Applications en temps-
r el
n SIP
Streaming daudio et vid o stock s
Techniques de streaming
au niveau applicatif pour
faire face un Internet
moindre effort :
n mise en m moire
tampon du c t client
n UDP et TCP mixtes
n plusieurs encodages
possible pour le
multim dia
Lect eur M dia
n suppression de la gigue
n d compression
n dissimulation derreurs
n interface graphique
avec contr les pour
linteractivit
9
10
Lapproche la plus simple
n audio et vid o enregistr dans des fichiers
n les fichiers sont transmis en tant quobjets
HTTP
n dabord re us compl tement chez le client
n transfert au lecteur apr s
audio et vid o ne sont pas lise en transit :
n pas de pipeline, d lai de r ception important
avant laffichage
Une approche streaming
n le navigateur re oit un PHWDILFKLHU par GET
n le navigateur ex cute le lecteur plug-in et lui passe le
metafichier
n le lecteur contacte le serveur
n le serveur envois le flot audio/vid o au lecteur en streaming
11
12
Une approche avec un serveur streaming
n Cet architecture permet lutilisation dun protocole non-HTTP
entre le serveur le lecteur multim dia.
n Permet lutilisation de UDP au lieu de TCP.
s
e
n
n
o
d
e
d
t
i
t
n
a
u
Q
Mise en m moire tampon du client
vid o CBR
r ception
au client
lecture CBR
du vid o au client
GpODL
YDULDEOH
GX(cid:3)UpVHDX
n
e
o
d
v
i
e
r
i
Publicité
o
m
m
d lai au client
avant lecture
temps
n Compensation pour le d lai du r seau, la gigue :
n mise en m moire
n d lai avant la lecture au client
13
14
D tails de la m moire
taux variable
x(t)
taux
constant
d
vid o en
m moire
n La m moire tampon compense la gigue du d lai
15
Streaming du multim dia par UDP
n Le serveur met avec un d bit ad quat pour le client
n sp cialement sil ignore les probl mes de congestion
n d bit metteur = taux dencodage (CBR)
n d bit r cepteur = CBR pertes de paquets
n D lais de d marrage courts (2-5 seconds) pour
compenser la gigue du d lai
n Compensation de pertes : si la contrainte temporelle le
permet
16
Streaming du multim dia par TCP
n Le serveur met au d bit maximal permis par TCP
n Le d bit r cepteur varie cause du contr le de congestion
TCP
n Plus quon ajoute du d lai au client, plus la lecture du
vid o devient lisse
n HTTP/TCP passent plus facilement travers les pare-
feux
Clients h t rog nes
encodage 1.5 Mb/s
encodage 28.8 Kb/s
Q : Comment g rer plusieurs clients avec des
d bits de r ception h t rog nes ?
n 28.8 Kb/s connexion par modem
n 100Mb/s sur Ethernet
R : Le serveur garde et transmet de multiples
copies de la vid o encod , avec des d bits
diff rents
17
18
RTSP Real Time Streaming Protocol
HTTP
n Pas cibl vers le multim dia
n Pas de commandes pour
avancer, rembobiner, etc.
Limites de RTSP :
n pas de d finition du
codage audio/vid o
n pas de d finition de la
RTSP : RFC 2326
n Protocole client-serveur au
niveau applicatif.
n Fonctionnalit s fournies au
client: avancer, rembobiner,
pause, repositionnement,
etc.&
couche transport : le media
peut tre transport par
UDP ou par TCP
n pas de d finition de la
mani re dont le client doit
faire la mise en m moire
tampon daudio ou vid o
RTSP: un contr le hors bande
RTSP :
n Le flux multim dia est
lintrabande
n Les messages de contr le
RTSP utilisent un num ro de
port hors-bande r serv .
n Port 554
Comme avec FTP :
n Dans FTP, un fichier est
transmis sur une connexion
TCP.
n La signalisation de contr le
(changement de r pertoire,
effacement de fichier,
renomm ment de fichier, etc.)
est transmise sur une
connexion TCP ind pendante.
n Les canaux hors-bande et
intrabande utilisent des
num ros de ports diff rents.
19
20
RTSP : un exemple
Sc nario:
n un metafichier est transmis au navigateur
n le navigateur ex cute le lecteur
n le lecteur construit :
n une connexion de contr le RTSP
n une connexion pour les donn es multim dia
Metafichier : exemple
<title>Twister</title>
<session>
<group language=en lipsync>
<switch>
<track type=audio
e="PCMU/8000/1"
src = "rtsp://audio.example.com/twister/audio.en/lofi">
<track type=audio
e="DVI4/16000/2" pt="90 DVI4/8000/1"
src="rtsp://audio.example.com/twister/audio.en/hifi">
</switch>
<track type="video/jpeg"
src="rtsp://video.example.com/twister/video">
</group>
</session>
21
22
Fonctionnement du RTSP
RTSP : exemple dun change client-serveur
C: SETUP rtsp://audio.example.com/twister/audio RTSP/1.0
Transport: rtp/udp; compression; port=3056; mode=PLAY
S: RTSP/1.0 200 1 OK
Session 4231
C: PLAY rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0
Session: 4231
Range: npt=0-
C: PAUSE rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0
Session: 4231
Range: npt=37
C: TEARDOWN rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0
Session: 4231
S: 200 3 OK
23
24
Plan
n Applications multim dia
n Streaming daudio et
vid o stock s
n RTSP
n Exemple de linteractive:
t l phonie sur IP
n Applications en temps-
r el
n SIP
Applications interactives en temps r el
Examinons lexemple
de t l phonie PC
PC
n t l phonie PC PC
n fourni par les services
de messagerie
instantan e
n PC t l phone
n Dialpad
n Net2phone
n visioconf rence avec
Webcam
25
26
Multim dia interactif : t l phonie sur IP
Notre exemple :
n La voix alterne des p riodes de son et de silence.
n 64 kb/s pendant une p riode de son
n Des paquets ne sont g n r s que durant des p riodes de
son
n chantillons de 20 msec 8 Kbytes/sec: 160 bytes par trame
n Ent te applicative ajout chaque trame.
n Trame+ent te sont encapsul s dans des segments UDP.
n Lapplication envoi des segments UDP par le biais des
sockets chaque 20 msec pendant une p riode de son.
Multim dia interactif : les pertes et les d lais
n pertes de paquets : Les paquets IP peuvent tre
perdu par cause de congestion (d bordement des
files dattente)
n d lai important : Un paquet IP peut tre consid r
comme perdu sil arrive trop tard au r cepteur
n d lais dus au traitement, files dattente, terminaux
(r cepteur, metteur)
n d lai maximal tol rable : 400 ms audio, vid o
n tol rance aux pertes : d pend du type de
compression, de la compensation, de lexistence
de FEC.
n taux de pertes entre 1% et 10% peuvent tre tol r
27
28
s
Publicité
e
n
n
o
d
e
d
t
i
t
n
a
u
Q
Gigue de d lai
transmission
CBR
r ception
au client
lecteur CBR
au client
GpODL
GX(cid:3)UpVHDX
YDULDEOH
(cid:11)JLJXH(cid:12)
s
e
n
n
o
d
e
r
i
o
m
m
n
e
nd lai au client
avant lecture
temps
n La diff rence entre les d lais de deux paquets
cons cutives peut tre plus ou moins que 20 msec
Tampons de r ception fixe
n Le r cepteur diffuse chaque paquet exactement
q msecs apr s que la trame a t g n r .
n Si la trame a une estampille linstant t : il est
diffus linstant t+q .
n Si la trame arrive apr s t+q : la trame est
consid r e perdue
n Balance pour q:
n grand q: moins de pertes
n petit q: meilleur interactivit
29
30
D lai de diffusion fixe
" L metteur g n re un paquet toutes les 20 msec durant la p riode de son.
" Le premier paquet est re u linstant r
" Un programme de diffusion : commencer p
" Deuxi me programme de diffusion: commencer p
packets
(cid:0)(cid:2)(cid:1)(cid:4)(cid:3)(cid:6)(cid:5)(cid:4)(cid:7)(cid:4)(cid:8)
(cid:10)(cid:11)(cid:7)(cid:6)(cid:12)(cid:6)(cid:7)(cid:6)(cid:13)
(cid:1)(cid:4)(cid:8)
(cid:7)(cid:4)(cid:14)
loss
(cid:0)(cid:2)(cid:1)(cid:15)(cid:3)(cid:15)(cid:5)(cid:4)(cid:7)(cid:4)(cid:8)
(cid:7)(cid:15)(cid:3)(cid:15)(cid:7)(cid:15)(cid:16)
(cid:17)(cid:15)(cid:7)(cid:15)(cid:14)
(cid:0)(cid:2)(cid:18)
(cid:1)(cid:4)(cid:19)(cid:4)(cid:20)(cid:22)(cid:21)(cid:15)(cid:8)(cid:11)(cid:9)(cid:15)(cid:3)(cid:6)(cid:23)(cid:2)(cid:7)(cid:15)(cid:14)(cid:11)(cid:21)(cid:2)(cid:18)
(cid:0)(cid:6)(cid:24)(cid:4)(cid:25)(cid:2)(cid:13)
(cid:0)(cid:2)(cid:18)
(cid:1)(cid:4)(cid:19)(cid:4)(cid:20)(cid:22)(cid:21)(cid:15)(cid:8)(cid:2)(cid:9)(cid:6)(cid:3)(cid:6)(cid:23)(cid:2)(cid:7)(cid:15)(cid:14)(cid:11)(cid:21)(cid:2)(cid:18)
(cid:0)(cid:26)(cid:25)(cid:2)(cid:13)
time
r
p
p
Tampon adaptatif
n Buts :
n minimiser le d lai de diffusion
n maintien un taux de pertes bas
n Strat gie : adapter le d lai de diffusion
n Estimer le d lai r seau, r gler le d lai de diffusion au d but de
chaque p riode de son.
n Les p riodes de silence sont compress es et long es.
n Les trames sont toujours diffus s chaque 20 msec pendant les
p riodes de son.
31
32
(cid:9)
(cid:9)
(cid:13)
(cid:7)
(cid:7)
Tampon adaptatif : calcul
=
timestamp
of
the
ith
packet
=
the
time
packet
is i
received
by
receiver
the
time
packet
is i
played
at
receiver
=
network
delay
for
ith
p
acket
i
estimate
of
average
network
delay
after
receiving
ith
packet
t
i
r
i
p
r
i
d
i
=
t
-
=
i
Estimation dynamique du d lai moyen au r cepteur :
G
=
1(
-
)
GX
+
(
UX
-
W
)
1
-
X est constant (e.g., X = .01).
Tampon adaptatif : calcul bis
L cart type, Y (cid:28) , peut aussi tre estim :
Y
=
1(
-
)
YX
1
-
+
|
UX
--
W
G
|
G (cid:28) et Y (cid:28) sont calcul s pour chaque paquet, mais sont appliqu s au d but dune
p riode de parole.
Pour le premier paquet dune p riode de parole linstant de diffusion est :
S
+=
Publicité
W
G
+
.Y
pour K un constant positif.
Les autres paquets de cette m me p riode de parole,
sont diffus s dans une mani re p riodique.
33
34
(cid:27)
(cid:27)
(cid:27)
(cid:27)
(cid:29)
(cid:29)
(cid:29)
(cid:29)
(cid:29)
(cid:30)
(cid:30)
(cid:30)
(cid:30)
Tampon adaptatif
Q : Comment le r cepteur d termine que le paquet
est le premier dune p riode de parole ?
n Sans pertes, le r cepteur scrute les estampilles
successive.
n Si la diff rence entre deux estampilles successive > 20
msec --> d but de p riode de parole.
n Avec des pertes, il faut faire attention au num ros
de s quence aussi.
n diff rence entre deux estampilles > 20 msec et
num ros de s quence successive --> d but de p riode.
n Voir RTP/RTCP
R sistance contre les pertes (1)
forward error correction
(FEC) : proc dure simple
n pour chaque groupe de n
n Le d lai de diffusion est
le temps de recevoir
toutes les n+1 trames
trames, on cr e une
trame redondante
n XOR sur les n trames
n on envoi n+1 trames
n le d bit augmente par 1/n
n on peut reconstruire les n
trames originales si on
re oit n des n+1 trames
n Echange :
n n plus grand
n moins on gaspille la
bande passante
n plus de d lai de
diffusion
n plus grande la
probabilit de perdre
2 trames sur n+1
35
36
R sistance contre les pertes (2)
2 me proc dure FEC
superposition dun flux de
qualit inf rieur
" par exemple, flux PCM
64 kb/s et flux redondant
GSM 13 kbps.
" Le r cepteur peut cacher toute perte non-consecutive.
R sistance contre les pertes (3)
3 me proc dure : entrelacement
n les trames sont d coup es en unit s
plus petits
n par exemple, 4 unit s de 5 msec par
trame
n chaque paquet contient des petits
unit s de plusieurs trames
n si un paquet est perdu, on re oit
toujours le plupart de chaque trame
n pas de surd bit de redondance
n le d lai de diffusion augmente
37
38
Bilan sur le multim dia interactif
n on utilise UDP
n viter les d lais induits par contr le de congestion TCP
n le r cepteur adapte son d lai de diffusion
n compensation pour les d lais al atoires
n le serveur g re le d bit du flux en fonction de la bande passante
disponible sur le chemin client-serveur
n choix parmi des encodages diff rents d bits
n la choix peut tre dynamique
n compensation pour les pertes
n FEC, entrelacement
n des retransmissions, si le temps permis
n cacher des erreurs: redondances des flux
Plan
n Applications multim dia
n Streaming daudio et
vid o stock s
n RTSP
n Exemple de linteractive:
t l phonie sur IP
n Applications en temps-
r el
n SIP
39
40
SIP
n Session Initiation Protocol (RFC 3263)
La philosophie de SIP
n Tous les appels t l phoniques et tous les
visioconf rences vont avoir lieu dans lInternet.
n On identifie les participants par nom ou par m l, non
par num ro de t l phone.
n On peut toujours joindre son correspondant
n nimporte o il se trouve
n nimporte lequel adresse IP il utilise.
41
Les services SIP
n Etablissement de
connexion
n Signalisation au
correspondant quon
veut lappeler
n Signalisation pour se
mettre daccord sur les
medias et lencodage
n Signalisation pour la
terminaison dun appel.
n Recherche de ladresse
IP du correspondant
n Mappage entre lidentifiant
mn monique et ladresse
IP actuelle
n Gestion de lappel
n Ajout de nouveaux flux de
media en cours dappel
n Changement dencodage
en cours dappel
n Invitations aux autres
n Transfert dappel, mise en
garde
42
Exemple : tablissement dappel
Alice
Bob
" Alice invite Bob
communiquer (port 5060)
167.180.112.24
193.64.210.89
INVITE [email protected]
c=IN IP4 167.180.112.24
m=audio 38060 RTP/AVP 0
port 5060
Bobs
terminal rings
port 5060
port 38060
200 OK
c=IN IP4 193.64.210.89
m=audio 48753 RTP/AVP 3
ACK
port 5060
m Law audio
GSM
port 48753
time
time
" son message SIP invite
contient son num ro de
port et son adresse IP
" il indique que Alice
pr f re de recevoir
lencodage PCM ulaw
" Le message 200 OK de Bob
indique
" son adresse IP et
num ro de port pour la
communication
" sa pr f rence pour
lencodage GSM
" Les messages SIP peuvent
tre TCP or UDP; ici
RTP/UDP.
Etablissement dappel bis
n Rejet dappel
n Bob peut rejeter des appels
avec les r ponses replies
occup , absent ,
cr dit insuffisant , ou
interdit .
n N gociation de lencodage:
Publicité
n Supposons que Bob ne
dispose pas de lencodeur
PCM ulaw.
n Bob r pond par 606 Not
Acceptable Reply. Il fourni la
liste des encodeurs dont il
peut sen servir.
n Alice peut ensuite envoyer un
nouveau message INVITE,
proposant un encodeur
adapt .
43
44
Exemple dun message SIP
INVITE sip:[email protected] SIP/2.0
Via: SIP/2.0/UDP 167.180.112.24
From: sip:[email protected]
To: sip:[email protected]
Call-ID: [email protected]
Content-Type: application/sdp
Content-Length: 885
c=IN IP4 167.180.112.24
m=audio 38060 RTP/AVP 0
A noter:
n syntaxe HTTP
n sdp = session description protocol
n unicit didentifiants Call-ID
" Dans ce cas, Alice ne
conna t pas ladresse IP
de Bob.
"Des serveurs
intermediares sont
n cessaires.
"Alice envoi et re oit
des messages SIP sur
le num ro de port par
d faut 5060.
" Alice indique dans
lent te Via que son
client SIP envoi et
re oit par UDP.
Annuaire et localisation
n Comment appeler si on
n Linformation fourni peut
conna t seulement le nom ou
ladresse m l ?
n Comment conna tre ladresse
IP actuel du correspondant ?
n le correspondant se d place
n il utilise le protocole DHCP
n il a plusieurs appareils IP (PC,
PDA, voiture)
varier selon :
n lhoraire (travail, maison)
n celui qui appel ( viter quun
appel professionnel est
diriger vers le foyer)
n l tat du correspondant
(quand il est occup , on
dirige les appels vers le
r pondeur)
Les serveurs SIP :
n SIP registrar
n SIP proxy
45
46
SIP Registrar
n Quand Bob allume son client SIP, le client envoi
un message SIP REGISTER message au Registrar
Server (comme dans la messagerie instantan e)
message REGISTER :
REGISTER sip:domain.com SIP/2.0
Via: SIP/2.0/UDP 193.64.210.89
From: sip:[email protected]
To: sip:[email protected]
Expires: 3600
SIP Proxy
n Alice envoi un message INVITE son serveur proxy
n il contient ladresse sip:[email protected]
n Le proxy est responsable for lacheminement des
messages SIP vers le correspondant
n les messages peuvent passer par plusieurs serveurs proxy
n Le correspondant envoi sa r ponse via le m me
ensemble de serveurs proxy.
n Le proxy fourni la r ponse SIP Alice
n la r ponse contient ladresse IP de Bob
n A noter : un proxy se ressemble un serveur DNS
47
48
Appel de [email protected]
vers [email protected]
(1) Jim envoi un message
INVITE au SIP proxy
de umass. (2) Le proxy
renvoi le message vers
le SIP registrar de upenn.
(3) Le registrar de upenn
r pond avec un message
REDIRECT, indiquant quil
faut contacter
Exemple
(cid:31)!
"89
(cid:2)CD&
7(cid:2)(cid:22)((cid:22)(
(cid:6)B
2
3
(cid:31)!
"87(cid:22)9
:(cid:11);(cid:6)<
=(cid:22)>@?(cid:6)A(cid:6)A
(cid:6)B
1
8
4
7
9
(cid:31)!
(cid:6)CD&
(cid:2)#(cid:6):
5
6
(cid:31)3
"4#(cid:11)%
(cid:22)((cid:6))
(cid:31)!
"$#(cid:22)%
(cid:11)((cid:6))
+(cid:4)2(cid:6),(cid:22)-
1(cid:6),(cid:11)-
/(cid:15)56-
*(cid:22)+
*(cid:22)+(cid:4),(cid:11)-
+(cid:4)*(cid:2).(cid:11)-
/(cid:6)0(cid:22)-
1(cid:2)2
(4) Le proxy umass envoi un INVITE au registrar eurecom. (5) Le registrar eurecom
renvoi le message INVITE 197.87.54.21, sur lequel tourne le client SIP de keith.
(6-8) r ponse SIP (9) media envoy directement entre les clients.
$(cid:3)QRWHU(cid:29) il y a aussi des acquittements SIP (pas montr s).
49
Comparaison avec H.323
n H.323 est un autre protocole
n H.323 a t d velopp
de signalisation pour
linteractive en temps r el
lUIT (t l phonie).
n SIP a t d velopp lIETF:
n H.323 est un ensemble
Il est inspir par HTTP.
n SIP est plus simple (et alors
plus efficace ?)
monolithique de protocoles
pour le visioconf rence :
signalisation, enregistrement,
contr le dadmission,
transport, et encodage.
n SIP est un composant
modulaire. Il est compatible
avec RTP. Il peut fonctionner
avec dautres protocoles et
services aussi.
50
&
&
-
=
A
)
9
?
9
=
-
=
"
9
A
)
9
?
9
=
9
>
-
E
9