PARTE 13
Distribuzione di
contenuti multimediali
Parte 13
Modulo 1:
Introduzione
Contenuti multimediali
• La definizione di “multimediale” è molto
arbitraria
• Tipicamente, si intende la combinazione di più
media. E, tipicamente, questi media
coinvolgono:
– Audio
– Video
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
13.3
Esempi di applicazioni multimediali
•
•
•
•
•
•
•
•
Telefonia su IP (VoIP)
Web conference
Radio via Internet
TV via Internet
Video streaming on-demand
Giochi interattivi
E-learning
Grafica tridimensionale interattiva (virtual
worlds, …)
• …
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
13.4
Cosa non sono considerate
applicazioni multimediali
Applicazioni “download & play”
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
13.5
Note
• L’orecchio umano è sensibile a variazioni di
rumore della durata di pochi millisecondi
• L’occhio umano non è sensibile a variazioni di
luce che durano solo pochi millisecondi
ÎIl campionamento del suono deve essere
effettuato più frequentemente del
campionamento della vista
Î Ma le applicazioni audio-oriented richiedono
la trasmissione di meno dati rispetto alle
applicazioni video-oriented
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
13.6
Applicazioni multimediali
• I dati con contenuti audio e/o video hanno
caratteristiche di “continuous media”
• Tipicamente sensibili ai ritardi:
– Ritardi end-to-end
– Jitter
• Ma “loss tolerant” Æ a differenza di altre
applicazioni Internet, possono tollerare la
perdita/ritardo di qualche pacchetto
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
13.7
Jitter
• Jitter = qualsiasi distorsione di un segnale o di
un’immagine causata da una cattiva
sincronizzazione tra mittente e destinatario.
In pratica, è la varianza del tempo di arrivo tra
un pacchetto e l’altro, che può essere causato
da:
– congestione della rete
– modifiche nel routing
– diverse velocità mittente-destinatario
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
13.8
Problema
• Le applicazioni multimediali real-time,
soprattutto se interattive, necessitano garanzie
di Quality-of-Service (QoS)
• Lo stack TCP/IP di Internet fornisce protocolli
best-effort
• Non c’è garanzia di limite sui ritardi end-to-end
né sul jitter ovvero non c’è alcuna garanzia
sulla media o sulla varianza del packet delay
• Non c’è garanzia di limite sulle perdite di dati
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
13.9
Con quali meccanismi si riescono a
fornire servizi audio/video di buona
qualità su un’infrastruttura best effort?
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
13.10
Parte 13
Modulo 2:
Possibili soluzioni
Una soluzione: QoS
La rete (a qualche livello) fornisce
alle applicazioni multimediali la
possibilità di avere un livello
minimo garantito di prestazioni
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
13.12
QoS per superare il best effort (1)
• Proposta di cambi significativi dei protocolli
standard:
– Incorporare resource reservation (bandwidth,
processing, buffering), e nuove politiche
(≠FCFS) di scheduling a livello di router
– Gestire service level agreements a livello delle
applicazioni, con monitoraggio ed enforcing dei
vincoli, e possibilità di adeguata tariffazione
• Proposte IETF: Intserv e Diffserv
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
13.13
QoS per superare il best effort (2)
Proposta di cambi moderati dei protocolli
• Differentiated Services
– Usare due classi di traffico per tutti i pacchetti e
differenziare il servizio di conseguenza
– Tariffazione basata sulla classe dei pacchetti
– Assicurare che i pacchetti di prima classe non
subiscano ritardi significativi ai router
• IP multicast
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
13.14
I protocolli QoS-oriented funzionano?
• Dal punto di vista teorico e implementativo: SI
• All’interno dello stesso Autonomous System: SI
• Il problema è che Internet è composto da decine
di migliaia di Autonomous System …
AS AS AS
AS
AS
AS
AS
AS
AS
AS AS
AS
AS
AS
AS
AS
AS
AS
AS
AS
AS
AS AS
AS
AS AS AS
AS AS AS
AS AS
AS
AS
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
13.15
Altre soluzioni per ovviare al problema
• Over-provisioning dell’infrastruttura
I requisiti delle applicazioni Interattive RealTime sono finora stati soddisfatti anche
mediante over-provisioning:
– banda molto larga a livello di rete
– caching a livello di server (ricordare le CDN)
Cosa accadrà quando il carico aumenterà?
Le infrastrutture saranno in grado di scalare?
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
13.16
Altri possibili rimedi adottati
(non mutuamente esclusivi)
• Usare UDP per evitare la fairness del TCP e la
sua fase di slow-start
• Buffering dati lato client
• Adattare il livello di compressione alla banda
effettivamente disponibile
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
13.17
Motivazione per la compressione
• Tutti i file multimediali devono essere
– Digitalizzati
– Compressi
• Motivazione evidente: audio e video non
compressi richiedono una banda enorme
• Esempio
– Immagine 1024x1024 con pixel codificato a 24
bit Æ dimensione 3 Mbit
• Il tema della compressione è vasto,
interessante e molto studiato
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
13.18
Compressione audio
• Tecnica base di codificazione: Pulse Code
Modulation (PCM)
• Usato anche dai Compact Disk
Banda necessaria
– Audio mono: 705 Kbps
– Audio stereo: 1411 Kbps
• Impossibili da utilizzare via Internet
• Preferita un’ulteriore tecnica di compressione
molto sofisiticata:
MPEG layer 3 (noto come MP3)
– Sono sufficienti: 128 Kbps !
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
13.19
Compressione video
• Video = sequenza di immagini
Tasso di delivery necessario: 24 o 30 immagini al
secondo
• Due metodi possibili per la compressione:
– Spaziale (all’interno della stessa immagine)
– Temporale (tra un’immagine e l’altra)
• Standard noti “aperti”:
– MPEG 1: video qualità CD-ROM (1.5 Mbps)
– MPEG 2: video alta qualità, tipo DVD (3-6 Mbps)
– MPEG 4: codifica object-oriented con semantica dei
contenuti
– H.261
• Molti standard “non aperti”
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
13.20
Applicazioni multimediali
• Tre classi principali di applicazioni multimediali
con tre vincoli prestazionali differenti
(crescenti):
– Streaming
– Real-time unidirezionale
– Real-time interattivo
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
Parte 13
Modulo 3:
Streaming
13.21
Streaming
• Un servizio di rete che si sta diffondendo sempre
di più anche grazie alla riduzione dei costi di
memorizzazione, all’aumento della banda larga
anche negli accessi domestici, miglioramenti nel
caching e possibilità di introdurre QoS in alcune
reti IP
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
13.23
Tipica applicazione streaming:
Video On Demand
Trasmissione di filmati in differita e su richiesta
dell’utente per:
• Web Channels
• Attvità di congressi (in differita)
• Eventi (in differita)
• E-learning
• Radio e TV (in differita)
• Cinema
• In generale, il cosiddetto Global Media Market
• ...
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
13.24
Caratteristiche dello streaming
• Le prestazioni degradano se nel cammino endto-end (potenzialmente transoceanico) vi sono
dei link congestionati, ma
• Grazie al buffering, le applicazioni Streaming
possono accettare ritardi da 5 a 10 secondi
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
13.25
Predisposizione contenuti multimediali
Digital Rights
Management
Codifica e
Compressione
Indicizzazione
Contenuto
digitale
Meta-info
(deve usare lo stesso
codec utilizzato in fase di
codifica) Media player
Web server
Media
server
(client):
- on-demand
- sottoscrizione a
evento broadcast
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
13.26
Funzioni per lo streaming (1)
Il client richiede file audio/video dal server con
cui viene instaurata una ricezione pipeline:
1. Il file Audio/Video è già residente in un server
2. Il file è segmentato ed inviato via TCP o UDP, mediante un
protocollo pubblico di segmentazione. Es., Real-Time
Protocol [RTP - analizzato nella II parte]
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
13.27
Funzioni per lo streaming (2)
…
–
I segmenti sono ricevuti in un buffer lato client
–
Visualizzati sullo schermo e/o trasmessi su canale audio
dal buffer
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
13.28
Dati
Effetti dello streaming
1. video
recorded
2. video
sent
network
delay
3. video received,
played out at client
tempo
streaming: a questo punto, il client
(player) comincia a visualizzare le prime
parti del video, mentre il server sta
ancora inviando il resto video
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
13.29
Streaming da un server Web
• Audio: trasmesso in file come oggetti HTTP
• Video: inviato come oggetti HTTP (frammenti audio e
video interposto in un file o in due file separati in cui il
client si occupa di sincronizzare la riproduzione)
• Un’architettura semplice prevede che il browser
richieda gli oggetti
e dopo la ricezione
li passi al media
player per la
riproduzione
- Non c’è pipelining
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
13.30
Streaming da un server Web
• Alternativa: stabilire la connessione tra server e player, e
poi effettuare il download
• Il Web browser richiede e riceve un Meta File (un file che
descrive l’oggetto) invece di ricevere il file multimediale
• Il browser lancia il Player adeguato e gli passa il Meta File
• Il Player stabilisce una connessione TCP con il Web
Server e scarica il file
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
13.31
Usare uno streaming server
• Si evita l’HTTP, e si può scegliere tra UDP e TCP
• Il protocollo di livello applicativo e l’applicazione
stessa può essere progettata meglio (ovvero in
modo più adatto allo streaming)
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
13.32
Possibili alternative
• Usare UDP: il Server invia i dati ad un tasso (Compressione
e Trasmissione) appropriato per il client. Per ridurre il jitter, il
Player bufferizza inizialmente i dati per circa 4-5 secondi, poi
inizia la visualizzazione
• Usare TCP: il mittente invia i dati al più elevato tasso
possibile mediante TCP. Ritrasmette i dati quando si verifica
un errrore. Il Player usa un buffer molto più grande per
smorzare i possibili “ritardi” del TCP
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
13.33
Streaming pseudo-interattivo
• Lo streaming può essere pseudo-interattivo:
utente può controllare le operazioni in modo
simile ad un Videoregistratore:
– pause
– resume
– fast forward
– rewind, ecc.
• Oggi, sono accettabili ritardi nelle operazioni di
videoregistratore virtuale, ma domani l’utente
sarà più esisgente
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
13.34
Controllo utente nello streaming
• Il controllo interattivo dell’utente è fornito
mediante il protocollo Real Time Streaming
Protocol [RTSP – analizzato nella II parte]
• Helper Application: visualizza il contenuto che è
tipicamente richiesto mediante (un plug-in di) un
Web browser, quale:
– RealPlayer della RealNetworks
– QuickTime della Apple
– Windows Media della Microsoft
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
13.35
Funzioni tipiche dei player
• Decompressione
• Eliminazione del Jitter
• Correzione dell’errore: uso di pacchetti
ridondanti per poter ricostruire lo stream
originario
• Controllo da parte dell’utente effettuato
mediante un’interfaccia grafica apposita
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
13.36
Parte 13
Modulo 4:
Applicazioni real-time
Real-time uni-direzionale
• Simile alle stazioni TV/radio, ma con
trasmissione via Internet
• Non interattivo: solo ascolto/visione
• Consente dilazioni (di qualche secondo)
rispetto al real-time interattivo
[anche la TV via satellite ha un ritardo di circa 2 sec]
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
13.38
Real-time unidirezionale
(es., live broadcast)
Trasmissione di eventi in diretta per:
• Spettacoli
• Congressi
• Eventi
• Manifestazioni
• Inaugurazioni
• h24 radio e TV
• ...
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
13.39
Requisiti di banda per applicazioni
multimediali
Phone quality audio
8 Kbps
Hi-Fi quality audio
64 Kbps
Application sharing
~100 Kbps
Videoconferencing
56 Kbps -1 Mbps
Low bit rate video
28 - 128 Kbps
VHS (MPEG1) video
1.2 - 3 Mbps
HDTV (MPEG2) video
4 - 16 Mbps
3D rendering, Virtual Reality
100 Mbps+
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
13.40
Real-time interattivo
• Video conferenza, conversazione via telefono
• Requisiti sui ritardi più stringenti dello
streaming e del real-time unidirezionale a
causa della natura interattiva in tempo reale
– Video: < 150 msec accettabile
– Audio: < 150 msec buono, <400 msec
accettabile
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
13.41
Real-time interattivo
(es., Web conference)
Un nuovo modo per Video Comunicazione via
Internet:
• Come prima, è possibile organizzare riunioni tra sedi
dislocate in tutto il mondo
• Non servono più connessioni a banda immensa e
apparecchiature dedicate costose
• E’ sufficiente collegarsi ad una pagina Web e disporre
di una Web cam: vi sono molti sistemi che si adattano
alla banda effettivamente disponibile
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
13.42
Web Conference
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
13.43
Altro esempio: Internet phone
• Le applicazioni di telefonia via Internet generano
pacchetti durante la comunicazione tra persone
• Il bit rate è di 8 KBytes, e ogni 20 msec il mittente crea
un pacchetto di 160 bytes + un header
• L’informazione vocale codificata viene incapsulata in
pacchetti UDP ed inviata via Internet
• Qualche pacchetto può perdersi o essere ritardato
(come se fosse perso)
• Grado di tollerabilità massimo: fino al 20% di perdite
• Il TCP eliminerebbe le perdite, ma ad un prezzo spesso
eccessivo per il tipo di applicazioni real-time
• Si possono usare tecniche di Controllo dell’errore per
correggere errori e perdite non rilevanti
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
13.44
Internet phone
• Ritardi oltre i 400 msec non possono essere tollerati:
pacchetti con questi ritardi vengono ignorati dal
destinatario come se fossero persi
• Il jitter è gestito mediante timestamp, numeri di
sequenza, e ritardando il playout al destinatario con
ritardi pre-fissati o variabili
• Con ritardi pre-fissati, il ritardo deve essere scelto in
modo opportuno:
– Sufficientemente grande per cercare di considerare
validi” più pacchetti possibili
– Sufficientemente piccolo per preservare I requisiti realtime dell’applicazione
– In ogni caso inferiore a 400 msec
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
13.45
Internet phone con ritardo di
playout pre-fissato
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
13.46
Ritardo di playout adattativo
• Obiettivo: utilizzare un valore di ritardo che prenda in
considerazione i ritardi di rete (variabili) durante la
conversazione
• Il ritardo di playout è calcolato per ogni stream di
conversazione ed è basato su:
– Ritardo medio osservato
– Deviazione (varianza) dal ritardo medio
• Il ritardo medio stimato e la devizaione dal ritardo
medio sono calcolati in modo simile alla stima del RTT
e della varianza nel TCP
• L’inizio di un stream di conversazione è identificato
dall’esame dei timestamp in pacchetti successivi e/o
dall’esame dei numeri di sequenza dei pacchetti
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
13.47
Recupero da perdita di pacchetti
• La “Perdita” va considerata in senso lato:
pacchetti che non arrivano o pacchetti che
arrivano più tardi del tempo massimo previsto
per il playout
• Poiché nel caso di applicazioni multimediali
real-time, la ritrasmissione dei pacchetti non si
può adottare, si utilizzano altre tecniche per
ridurre l’impatto della “perdita”:
Æ Forward Error Correction (FEC)
– Piggybacking
– Interleaving
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
13.48
Piggybacking
• E’ lo schema più semplice di FEC:
– Si aggiunge un chunk ridondante (di qualità un po’
inferiore) ottenuto da un OR esclusivo di un gruppo
di n chunk
– La ridondanza è 1/n
– E’ possibile ricostruire il pacchetto se viene perso al
più un chunk di un gruppo
– Per il tempo di playout si assume una perdita per
gruppo
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
13.49
Piggybacking
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
13.50
Interleaving
• Non c’è ridondanza, ma si consente un playout al limite,
ma entro i requisiti real-time
• La perdita viene recuperata riducendon l’impatto su di
un chunk
• Ad esempio, si dividono 20 msec di dati audio in unità
più piccole di 5 msec ciascuna e si interpongono
• Nel caso di perdita, si ha un insieme di chunk “quasi”
completi
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
13.51
Interleaving
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
13.52
Parte 13
Modulo 5:
Protocolli Real-time
I protocolli
• RTP (Real Time Protocol, RFC 1889)
– Dati multimediali
– Server Æ Client
• RTCP (Real Time Control Protocol, RFC 1889)
– Feedback
– Principalmente Client Æ Server
• RTSP (Real Time Streaming Protocol, RFC 2336)
– Tipo HTTP, come “telecomando” virtuale
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
13.54
Parte 13
Modulo 2a:
Protocollo RTP
Real Time Protocol
• RTP: Real Time Protocol (RFC 1889)
• Fornisce un formato standard dei pacchetti per
applicazioni real-time (trasmissione di contenuti
multimediali in tempo reale sulla rete)
– Audio/video
– Audio + Video
• Usa tipicamente UDP perché la velocità è più
importante della completezza della trasmissione
• Real Time Î Correttezza dipende anche dal
tempo
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
13.56
Pacchetti RTP
•Version: versione di RTP
•Padding: presenza di padding dopo il payload
•CSRC count: numero di identificatori CSRC che seguono
•Marker: definito in un documento (profile)
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
13.57
Pacchetto RTP (1)
• Payload Type: 7 bit Æ fornisce 128 possibili tipi di
encoding differenti.
– Audio: PCM, modulazione delta adattata, GSM,
MPEG audio
– Video: JPEG dinamico, H.261, MPEG 1, MPEG 2
• Sequence Number: 16 bit; incrementato di 1 ad ogni
pacchetto inviato. E’ utilizzato per individuare la perdita di
pacchetti e per ricostruire la sequenza di pacchetti
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
13.58
Pacchetto RTP (2)
• Timestamp: 32 byte; contiene l’istante di generazione del
primo byte audio/video nel pacchetto; può essere utilizzato
per rimuovere il jitter dei pacchetti causato dalla rete e per
sincronizzare la riproduzione con la generazione
• Synchronization Source identifier (SSRC): 32 bit; un
identificatore “univoco” per la sorgente di uno stream
(≠indirizzo IP), assegnato dalla sorgente come un numero
random
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
13.59
Posizione del protocollo RTP
• I chunk dell’applicazione multimediale sono
incapsulati in pacchetti RTP che, a loro volta,
sono incapsulati in pacchetti UDP e trasmessi
via Internet (IP)
applicazioni
RTP
UDP
IP
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
13.60
Parte 13
Modulo 2b:
Protocollo RTCP
Real Time Control Protocol (RTCP)
• Specificato nella stessa RFC 1889 del
protocollo RTP
• Protocollo di controllo che un’applicazione
può utilizzare insieme all’RTP
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
13.62
Real Time Control Protocol
• Tutti i partecipanti ad una sessione RTP
spediscono periodicamente pacchetti RTCP
• I pacchetti RTCP e RTP sono spediti all’indirizzo
multicast della sessione RTP
• I pacchetti RTP e RTCP usano numeri di porta
differenti (numero di porta RTCP = numero di
porta RTP +1)
• Traffico RTCP proporzionale al numero di
partecipanti alla sessione (problema di scalabilità)
• Per limitare il traffico dei pacchetti spediti, ogni
partecipante riduce il proprio traffico RTCP al
crescere del numero dei partecipanti
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
13.63
Pacchetti di Report RTCP
• Tale protocollo specifica i pacchetti di report che
possono essere scambiati tra sorgenti e destinazioni
di dati mutimediali.
• Tre report definiti:
– Receiver reception
– Sender
– Source description
• I report contengono statistiche quali: numero di
pacchetti inviati, numero di pacchetti persi, jitter di
inter-arrivo
• I report possono essere utilizzati per modificare i tassi
di trasmissione, le modalità di compressione, ed anche
per motivi di analisi/diagnostica
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
13.64
Pacchetti RTCP
• Vari tipi di pacchetti
– SR: Sender report
– RR: Receiver report
– SDES: Source Description items
– BYE: Abbandona una sessione
– APP: Per funzioni specifiche di un’applicazione
• Ogni pacchetto è formato da una prima parte
fissa e da una parte variabile
• Un pacchetto può contenere più blocchi
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
13.65
Pacchetti RTCP: RR / SR
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
13.66
Pacchetti RR/SR
• Header
– Version
– Padding
– Packet Type (201=RR, 200=SR)
– Length
– SSRC
♦ SSRC
di chi invia il pacchetto
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
13.67
Pacchetti SR
• Sender info
– Timestamp NTP – wallclock time (per misurare
RTT o per sincronizzare diversi stream
multimediali)
– Timestamp RTP
– Sender’s packet count
– Sender’s octet count
♦ Usato
per stimare il data rate
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
13.68
Pacchetti SR/RR
• Report Block
– Uno per ogni Sorgente
– SSRC Identifier
– Frazione di pacchetti persi
– Numero totale di pacchetti persi
– Numero di sequenza più alto ricevuto (16+16
bit)
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
13.69
Pacchetti RTCP: SR/RR
• Jitter
– Differenza tra i ritardi nella trasmissione dei vari
pacchetti
• Last SR Timestamp
– 32 bit centrali dell’NTP timestamp dell’ultimo SR
ricevuto
• DLSR
– Ritardo tra la ricezione dell’ultimo SR e la
spedizione del messaggio RTCP corrente
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
13.70
RTCP - Scalabilità
• Potenziale problema di scalabilità
• Il traffico RTCP cresce linearmente col numero
di partecipanti ad una sessione
• Il traffico RTP non sempre cresce col numero
di partecipanti
• Il traffico RTCP può superare il traffico RTP!!
• RTCP modifica il proprio rate di trasmissione
in base al numero dei partecipanti
• Ogni partecipante è in grado di stimare il
numero di partecipanti in quanto riceve reports
da tutti quanti
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
13.71
RTCP – Assegnazione di banda
• RTCP tenta di limitare
il proprio traffico al 5%
della larghezza di
banda della sessione
Esempio
• 1 sender invia video
ad un rate di 2 Mbps.
RTCP limits il traffico
a 100 Kbps.
• RTCP assegna il 75%
del proprio rate ai
receiver; il rimanente
25% al sender.
• I 75 kbps sono equalmente
divisi tra i receiver:
– con R receiver, ogni receiver
può inviare traffico RTCP a
75/R kbps.
• Il sender ottiene di inviare
traffico RTCP a 25 kbps.
• I partecipanti determinano il
periodo di trasmissione dei
pacchetti RTCP calcolando l’avg
RTCP packet size (sull’intera
sessione) e dividendo per il rate
assegnato.
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
13.72
RTCP – Assegnazione di banda
Periodo di trasmissione RTCP per un sender:
T = numero di senders (avg size dei pacchetti RTCP)
0,25 x 0,05 x largh. banda della sessione
Periodo di trasmissione RTCP per un receiver:
T = numero di receiver (avg size dei pacchetti RTCP)
0,75 x 0,05 x largh. banda della sessione
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
Parte 13
Modulo 2c:
Protocollo RTSP
13.73
Real Time Streaming Protocol
• Controllo remoto via rete per streaming multimediali
• Modellato sulla base di HTTP/1.1
• Protocollo out-of-band protocol. Usa due connessioni:
– uno per i messaggi di controllo (port 554)
– uno per lo stream multimediale
• RFC 2326 consente l’uso del TCP o dell’UDP per la
connessione su cui viaggiano i messaggi di controllo
(detto, RTSP Channel)
• Il meta file è communicato dal Web server al client (es.,
browser) che lancia il Player. Il Player stabilisce una
connessione RTSP per controllare i messaggi oltre alla
connessione per trasmettere lo streaming multimediale
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
13.75
Esempio di Meta file
<title>Twister</title>
<session>
<group language=en lipsync>
<switch>
Scelta tra 2
<track type=audio
stream 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>
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
13.76
Operazioni RTSP
• SETUP
Inizializza sessione RTSP
• PLAY
Inizia la trasmissione di dati
• PAUSE
Sospende
temporaneamente la
trasmissione dei dati
• OPTIONS
Descrive le funzionalità del
server
• DESCRIBE
Richiede informazioni sullo
stream
• TEARDOWN
Termina sessione RTSP
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
13.77
Esempio di scambio RTSP
C: SETUP rtsp://audio.example.com/twister/audio RTSP/1.0
Cseq: 1
Transport: rtp/udp; compression; port=3056; mode=PLAY
S: RTSP/1.0 200 OK
Cseq: 1
Session: 4231
C: PLAY rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0
Session: 4231
Cseq: 2
Normal Play Time
Range: npt=0C: PAUSE rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0
Session: 4231
Cseq: 3
Range: npt=37
C: TEARDOWN rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0
Session: 4231; Cseq: 4
Messaggi in
S: RTSP/1.0 200 OK
caratteri ASCII
Session: 4231; Cseq: 4
Sistemi e Servizi di Rete - LS 2005/2006 – Distribuzione contenuti multimediali
13.78
Scarica

Distribuzione di contenuti multimediali