Streaming Media
Ing. Maurizio Vitale
24/09/2003
© 2003
1
Streaming Media
Introduzione

Comunicazione multimediale


il contenuto informativo risiede in più media (dati,
voce, video, ecc.)
Videocomunicazione - classificazione:



uno a molti monodirezionale (broadcast o ondemand)
uno a molti bidirezionale (interazione tra uditori e
parlatore)
molti a molti (videoconferenza)
Uno a molti
BASSO
Broadcast
2
Streaming
Webcasting
Livello di interazione
On Demand
con feedback
Molti a molti
ALTO
Real time
Streaming Media
Streaming

Tecnologia emergente




3
Consente l’accesso a contenuti multimediali
(audio, video, ecc.) in tempo reale o a richiesta
(on demand)
I contenuti multimediali sono trasmessi da un
media server e sono elaborati e riprodotti da una
applicazione client, il player
Non occorre attendere che sia completato il
download del file per visonarlo
I file ricevuti in streaming non sono scritti su disco
in quanto elaborati e presentati appena ricevuti,
quindi scartati
Streaming Media
Vecchi concetti e nuove tecnologie

Lo streaming multimediale non è nuovo

è una forma di broadcast, ma aggiunge una molteplicità
di media e caratteristiche di interattività
(indicizzazione dei contenuti, hotspot cliccabili nelle
immagini, avvio automatico di pagine web durante la
riproduzione, ecc.)
4
Streaming Media
Streaming: moda o opportunità ?

7 utenti Internet su 10 hanno dichiarato che “i siti
web sono più piacevoli se comprendono più spesso
suoni e video” (studio Arbitron/Edison Media Research in USA)

Aziende importanti (Fujitsu, Hewlett Packard, ecc.)
vedono crescere il ROI (Return Of Investment) delle
loro iniziative di streaming
Fonte Aberdeen Group: “L’introduzione dello streaming in HP ha incrementato l’efficacia e la
ricchezza della sua comunicazione e ridotto in modo significativo i costi. Tale riduzione dei
costi, che deriva essenzialmente dalla riduzione degli eventi dimostrativi e dei messaggi
pubblicitari in radio e via satellite, è stata di circa 1.2 milioni di $ nel primo anno ed ha
generato un ROI oltre il 1800% ripagandosi in un mese”
5
Streaming Media
Come le aziende private usano lo streaming ?

Invio di e-broadcast all’interno della propria organizzazione
Realizzazione di presentazioni da remoto per i propri impiegati,
clienti o partner
Erogazione di formazione a distanza per la propria rete di
distribuzione/vendita
Erogazione di dimostrazioni pre-vendita a distanza
Erogazione di servizi per i clienti

Un esempio italiano: Enel.it








6
Notiziario giornaliero per le aziende del gruppo
Presentazioni delle aziende del gruppo o di progetti in corso
Formazione
Servizi ai clienti delle aziende del gruppo
Streaming Media
Come gli Enti pubblici potrebbero usare lo
streaming ?




7
Comunicazione arricchita diretta verso le varie articolazioni degli
Enti
Comunicazioni verso i cittadini/utenti (iniziative delle
amministrazioni, novità, esempi di accesso ai servizi, ecc.)
Formazione e/o qualificazione professionale a distanza delle
proprie risorse umane
…………..
Streaming Media
Un po’ di tecnica: lo streaming e le tecnologie
tradizionali
L’accesso a contenuti multimediali è possibile anche
con tecnologie tradizionali

Download – i contenuti multimediali sono messi a disposizione su un
web server da cui è possibile scaricarli



Dowload progressivo o pseudo-streaming




Permette la riproduzione prima che il file sia interamente scaricato
Non consente di saltare in qualsiasi punto del contenuto multimediale
Può perdere la sincronizzazione o soffrire di hang-up
True streaming




8
Occorre terminare il download prima di poterli visionare
Sono memorizzati sul disco locale
La riproduzione è contestuale all’arrivo dei contenuti
Dispone di controlli VCR ed è possibile saltare a qualunque punto del
contenuto
Supporta la riproduzione live e on-demand
I contenuti sono codificati in diverse versioni ottimizzate per diversi data
rate. Lo streaming server sceglie quale versione distribuire in fnzione delle
caratteristiche del client e della banda che ha a disposizione.
Streaming Media
Come funziona lo streaming ?
Web Server
1 – L’utente selezione un
contenuto multimediale
facendo una richiesta ad
un Web server
2 – Il Web server inoltra la
richiesta al media server
Client
3 – Il media server invia in
streaming il contenuto
multimediale all’utente
4 – Il media player sulla
postazione utente
decodifica il contenuto
multimediale in arrivo e
lo presenta
9
Media Server
Streaming Media
Le architetture per lo streaming
Una architettura è un sistema interdipendente
costituito da varie componenti che lavorano insieme
per ottenere certe funzionalità

Una architettura di streaming comprende le metodologie di
codifica e di trasmissione, il software server e i player (software
client)


10
Le architetture più popolari sono: Real Media, Windows Media e
QuickTime
Sono tre standard paralleli non compatibili tra loro
Alcuni Content Provider supportano tutti gli standard
Streaming Media
L’uso dello streaming
Utenti di contenuti multimediali nell’anno 2000 suddivisi per player
30
QuickTime
Windows
Media
RealMedia
25
20
15
10
5
0
7
milioni
7-13
milioni
20-28
milioni
Gen-Dic
2000
Gen-Dic
2000
Gen-Dic
2000
Fonte: Dale Sorenson – Macintouch “Streaming Media Market Report
2001”
11
Streaming Media
I formati dello streaming
Il formato è semplicemente la struttura del file che è generato dalla
particolare architettura attraverso i suoi codec
Architettura
12
Formato nativo
Estensione del file
QuickTime
Formato QuickTime
.mov (.qt, .qti)
RealMedia
Formati RealMedia, RealAudio
.rm, .ra
WindoowsMedia
Advanced Streaming Format,
Windows Media Video/Audio
.asf, .wmv, .wma
Streaming Media
La produzione di contenuti multimediali per lo
streaming
Cattura
Montaggio
Ripresa
Riproduzione
(on-demand)
13
Pubblicazione
sullo streaming
server
Codifica
Streaming Media
La trasmissione live di eventi
Cattura e codifica
Media Server
Videoregistratore
Network
Camera 2
Mixer video
Camera 1
Client
14
Client
Streaming Media
I protocolli dello streaming: RTP

I contenuti multimediali sono inviati dal server al client usando il
protocollo RTP (Real Time Protocol)


Il protocollo RTP si appoggia sul protocollo di trasporto non
affidabile UDP
Il suo compito principale è fare in modo che la sequenza temporale
dei campioni digitali emessi delle sorgenti multimediali, siano
rispettate in ricezione riducendo il jitter (variabilità dei ritardi)
Campioni emessi dalla sorgente
Campioni in arrivo senza RTP
Campioni in arrivo con RTP
15
Streaming Media
RTP

16
Obiettivi di progetto:

flessibile
fornisce meccanismi, non
impone algoritmi
 istanziazioni per H261, MPEG1/2/...

Indipendente dal protocollo
UDP/IP, private ATM
networks...

Scalabile
unicast, multicast, da 2 a 

Controllo dei dati separato
alcune funzioni possono
essere fatte dal protocollo
di controllo della conferenza
Streaming Media
RTP

Funzioni sui dati (RTP)

Etichettatura del contenuto




Timing


17
Identificazione della sorgente
Individuazione della perdita
Risequenzamento
intra-media synchronization: rimuove il jitter con l’introduzioni di
with buffer di playout
inter-media synchronization: sincronizzazione labliale tra audiovideo
Streaming Media
RTP: uso tipico

Normalmente




18
usa UDP (TCP non è adatto al real time)
Porta UDP non fissata, ma negoziata
Porta UDP per RTCP = porta UDP per RTP + 1
Normalmente viene gestito un solo media per sessione RTP
(i.e. coppia di porte)
Streaming Media
RTP/RTCP: gestione del Tempo

RTP time




NTP time



19
offset iniziale random (per ogni stream)
In ogni pacchetto è presente un RTP timestamp
Il Timestamp è incrementato dal tempo speso dal pacchetto
Tempo assoluto (usa il formato Network Time Protocol)
NTP timestamp presente in ogni RTCP Sender Report
Rende possibile la sincronizzazione inter-stream
Streaming Media
RTP header
0
1
2
3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|V=2|P|X| CC
|M|
PT
|
sequence number
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
timestamp
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
synchronization source (SSRC) identifier
|
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
|
contributing source (CSRC) identifiers
|
|
....
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
payload (audio, video...)
|
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
...|
padding |
count
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+



20
version (V)
padding (P)
extension (X)
CSRC count (CC)
marker (M)
payload type (PT)
Streaming Media
RTP header...

Sequence number


Synchronization SouRCe (SSRC)



Identifica univocamente la sorgente nella sessione
Viene scelto randomicamente  rivela e risolve le collisioni
Contributing SouRCe (CSRC) e CC


21
Incrementato per ogni pacchetto RTP
Usato da un mixer per identificare le sorgenti che concorrono alla
formazione del flusso
La dimensione di tale lista è data dal campo CSRC Count (CC)
Streaming Media
Mixer e Translator

Mixer

Combinano diversi flussi in un nuovo flusso singolo
Usa un nuovo SSRC; gli SSRC originali sono nella lista CSRC
Appare come una nuova sorgente

Ottiene riduzione di banda



Translator

I vari flussi lo attraversano separatamente
Conserva i SSRC originali

Realizza la trasduzione di protocollo

22
Streaming Media
Mixer


Un mixer può cambiare il formato dei dati (codifica) e
combiare più stream tra di loro in modo qualunque
Esempio: mixer video (=MCU)
end system 1
from ES1: SSRC=6
from ES2: SSRC=23
end system 2
23
mixer
from M: SSRC=52
CSRC list={6, 23}
end system 3
Streaming Media
Translator



I dati possono passare attraverso il traslatore intatti o
possono essere codificati in modo diverso
L’identità dei flussi rimane intatta
Esempio: attraversamento di un firewall
end system 1
from ES1: SSRC=6
from ES2: SSRC=23
end system 2
24
from ES1: SSRC=6
from ES2: SSRC=23
transl.1
transl.2
authorized tunnel
firewall
from ES1: SSRC=6
from ES2: SSRC=23
Streaming Media
I protocolli dello streaming: RTSP

IETF standard


Real-Time Streaming Protocol

Agisce come « network remote control »

È un protocollo bidirezionale che può usare sia i servizi di
comunicazione di TCP che quelli di UDP/RTP

Supporta le seguenti operazioni



25
RFC 2326
reperimento di un contenuto multimediale da un server
Invito di un server multimediale in una conferenza
Registrazione di una conferenza
Streaming Media
RTSP




È un protocollo text-based
È indipendente dal protocollo di trasporto
Supporta ogni sistema di descrizione della sessione
(sdp, xml, etc.)
Simile al protocollo HTTP con differenze




26
Richieste client  server and server  client server
Mantiene un « session state »
I dati sono trasportati fuori banda
Lavora sia in unicast che in multicast
Streaming Media
Unicast vs Multicast
Multi-Unicast
27
Multicast
Streaming Media
Unicast vs Multicast
Multi-Unicast
Ordine di N2/4
28
Multicast
Ordine di N
Streaming Media
I metodi RTSP

Metodi maggiori





Metodi addizionali






29
SETUP: il server alloca risorse per lo stream ed inizia una
sessione RTSP
PLAY:
avvia la trasmissione dei dati dello stream
PAUSE: interrompe lo stream temporaneamente
TEARDOWN:
libera le risorse dello stream cancellando la
sessione sul server
OPTIONS:
ANNOUNCE:
DESCRIBE:
prende i metodi disponibili
Cambia la descrizione dell’oggetto multimediale
prende la descrizione di basso livello dell’oggetto
multimediale
RECORD:
Il server avvia la registrazione dello stream
REDIRECT:
Dirotta un client su un altro server
SET_PARAMETER:imposta i parametri del codificatore o dei
dispositivi
Streaming Media
Esempio: media on demand, unicast
C
client
W
A
V
media descr.
web server
audio
server
video
server
step 1: get description (in SDP format)
step 2: open streams with RTSP
step 3: play
step 4: teardown
30
Streaming Media
Esempio …
HTTP GET
presentation description (sdp)
client
C
SETUP
PLAY
RTP audio/video
RTCP
TEARDOWN
31
web
server
W
media
servers
A&V
Scarica

5 - CNR Lazio