Streaming
Che cosa è lo streaming
Si tratta di una tecnica per trasferire dati in
modo che siano processati come un flusso costante e continuo. Le
tecnologie di streaming sono importanti in quanto consentono di gestire
l'accesso a file multimediali di notevoli dimensioni in maniera veloce
anche per gli utenti che non hanno accessi Internet particolarmente
performanti. Usando la tecnologia dello streaming, il browser o il
player dell'utente (ovvero l'applicazione in grado di riprodurre
l'audio e il video che vengono scaricati) può iniziare a
mostrare i dati prima che il file completo sia stato trasmesso.
Perché questo processo sia efficace occorre che il client
raccolga e eroghi i dati costantemente all'applicazione che li gestisce
in modo da convertirli in suono o immagini. Tipicamente i dati ricevuti
dal client vengono accodati in un buffer dal quale si alimenta
costantemente la fase di riproduzione; in questo modo, se per qualche
ragione il flusso dati presenta delle irregolarità in fase di
ricezione, non viene compromessa la fase di presentazione; ovviamente,
nel caso in cui le irregolarità non siano compensate dalla
lunghezza del buffer, anche in fase di riproduzione si avvertirà
la discontinuità.
Nell'erogazione di contenuti audio/video in
streaming si identificano le modalità live e on-demand.
La modalità live è assimilabile alla trasmissione di tipo
televisivo. Il server che eroga il contenuto audio e video gestisce un
unico flusso che viene erogato a tutti i client che ne fanno richiesta:
questo significa che in un dato istante tutti i client riceveranno il
medesimo flusso di dati indipendentemente dal momento in cui hanno
inoltrato la richiesta. La modalità on-demand è
assimilabile alla riproduzione da videoregistratore. Ogni client opera
in modo indipendente uno dall'altro e il server eroga un dato contenuto
ai vari client in maniera del tutto svincolata a livello temporale. La
realizzazione di uno streaming (sia per l'erogazione live che
on-demand) richiede varie fasi di lavoro:
- acquisizione: una sorgente
audio/video (un videoregistratore, una telecamera) deve essere
collegata ad un sistema di acquisizione che tipicamente consiste in un
PC dotato di scheda di acquisizione audio/video
- codifica: il segnale acquisito
deve essere codificato in un formato erogabile in modalità
streaming
- caricamento: Il contenuto in
streaming prodotto deve essere caricato su un server in grado di
erogarlo secondo la modalità streaming. A seconda del formato di
codifica adottato esistono vari applicativi in grado di gestire questo
tipo di contenuto.
- pubblicazione : viene creata
una pagina web che referenzia il contenuto audio/video presente sul
server di streaming
- erogazione: l'utente che si
collega tramite web alla pagina dove è stato pubblicato il
contenuto audio/video inizierà a fruire dello streaming mediante
il player opportuno.
La postproduzione è
un'ulteriore fase di lavoro, che può essere effettuata a vari
livelli in fase di acquisizione, oppure in fase di codifica. Si tratta
di un'attività che viene eseguita tipicamente su materiale che
deve essere erogato in modalità on-demand. Si intende
per postproduzione la manipolazione del contenuto audio/video in modo
tale da migliorarne la qualità, aggiungere titoli, effetti
oppure la sincronizzazione con contenuti esterni (es. slide) che devono
essere visualizzati contestualmente durante la fase di erogazione.
Formati video e codec
La mole di dati che una sequenza video comporta
è molto elevata (ad esempio, un secondo di una trasmissione
televisiva non compresso richiede 600-800 KB di spazio); sarebbe quindi
improponibile trasmettere un filmato senza averlo prima compresso (e
quindi codificato) con un algoritmo di compressione (codec).
Il compito del codec consiste nel trasformare, in fase di
acquisizione, le informazioni ricevute in un file più piccolo e
compatto, e, in fase di riproduzione, nell'interpretare il codice del
file per poterlo visualizzare nella sua integrità. La scelta del
corretto formato video, e del corrispondente codec, è
di vitale importanza per la buona riuscita di uno streaming.
Tra i formati video più utilizzati troviamo:
- Microsoft Video for Windows (AVI)
- Apple Quick Time (MOV)
- MPEG e MPEG2
- Real Media (RA e RM)
- Microsoft NetShow (ASF)
Ognuno di questi supporta vari tipi di codec,
con requisiti di banda e caratteristiche differenti.
Attività di sperimentazione
Il laboratorio di comunicazione multimediale ha
condotto sperimentazioni nell'ambito dello streaming testando diverse
tecnologie di codifica, erogazione, sperimentando prodotti e tecniche
di postproduzione e varie modalità di pubblicazione ed
erogazione.
Il CINECA ha testato i principali e più
diffusi strumenti software disponibili oggi sul mercato, come per
esempio, quelli forniti dalla Real Networks (RealProducer per
l'encoding, RealPlayer per il decoding, RealServer e Helix per lo
streaming), dalla sezione Windows Media della Microsoft (Windows
MediaPlayer e WindowsMediaServer) e dalla Apple con i prodotti
QuickTime.
I test per ogni tipo di trasmissione vengono effettuati su tutte le
piattaforme client disponibili, in modo da poter selezionare l'hardware
e il software migliore, a seconda del tipo di servizio da offrire.
I sistemi che vengono supportati sono naturalmente
i più diffusi:
- Microsoft Windows (9x, NT e 2000)
- Linux
- Macintosh
Sono state attivate:
- una collaborazione con l'Università di
Venezia, per sperimentare, oltre a diverse soluzioni per l'encoding,
l'acquisizione e l'editing di immagini video, anche la
possibilità di diffondere eventi attraverso l'utilizzo della
tecnologia multicast e sfruttando infrastrutture distribuite, basate su
più server dislocati geograficamente
- una sperimentazione in collaborazione con
Aethra e l'Università di Ancona per la produzione di contenuti
didattici da erogare in modalità on-demand
- una collaborazione con il Policlinico
Universitario di Padova per la realizzazione di streaming di alta
qualità da sale operatorie
Il CINECA ha inoltre condotto sperimentazioni nel
campo dello streaming di alta qualità con codec MPEG-2 e MPEG-4,
di soluzioni miste streaming-videoconferenza e il test del software
HitCast per trasmissioni multicast real-time su linee terrestri e via
satellite.
HitCast - ingrandisci
Sono state condotte anche ricerche nel campo della
gestione e della archiviazione di contenuti multimediali (MPEG-7), tese
a definire strumenti e standard per la descrizione di dati di tipo
multimediale o audiovisivo indipendenti dalla particolare tecnologia di
memorizzazione e trasmissione, e strumenti per la gestione e
interpretazione del contenuto informativo.
Gestione dei contenuti - ingrandisci
Si è infine preso parte a progetti di ricerca per la definizione
di infrastrutture di distribuzione in ambito europeo (task force Terena TF-STREAM e
TF-NETCAST).
inizio
pagina
|