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