Streaming et Signalisation

Multimedia, Streaming, Internet · course

Voir tous les documents en électronique et automatique

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

[email protected]

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