Università degli Studi di Salerno Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Media Delivery Platform Daniele Cafaro Gianfranco Cerrato Reti di Calcolatori: Protocolli e Sistemi Prof. Massimo De Santo Tutor: Ing. Paolo Napoletano
ClientClient 3rd Party RTSP/RTP Server 3rd Party RTSP/RTP Server 3rd Party RTSP/RTP Client RDT RDT (Real Data Transport) RTP RTSP RTP RTSP
Studio ed analisi dellarchitettura RealNetworks per il Live & On-demand Streaming
Architettura Helix Producer Helix Server Real Player Funzionalità avanzate Deployment Configurazione generale Casi duso
Consente di creare stream multimediali con formati adatti alla distribuzione sulla rete. Cattura dalla sorgente audio/video Editing e Pre-filtering Codifica e FEC Delivery
Il file di output è codificato in un formato proprietario della RealNetworks: RealAudio e RealVideo.
Stesso file con più bit-rate Afferisce ai formati CBR incremento dimensioni del fie collo di bottiglia per live streaming Adattamento dinamico alle condizioni della rete (es. congestione) Tecnologia multi-rate usata da RealNetworks:
Fisici: per accedere al file system Virtuali: per richiedere determinati servizi La sintassi per lutilizzo dei mount point è la seguente: protocol://address:port/mount_points/path/file rtsp://helixserver.example.com/movie/video.rm Il server permette di distribuire lo stream grazie ai mount point: Fisico Virtuale metafile.ram
Lo splitting abilita un componente a distribuire lo stream multimediale verso altri componenti. Encoder-to-Server: per distribuire uno stream multimediale da un encoder verso un Helix Server. Server-to-Server: per distribuire uno stream verso un altro Helix Server.
Unicast Invia uno stream separato per ogni receiver o media player Multicast Invia lo stesso stream a tutti i receiver o media player, con eventuale canale di controllo unicast Adattamento del flusso ad hoc per ogni client Uso inefficiente della rete Uso efficiente della rete Richiede particolari configurazioni di rete In reti molto ampie è possibile combinare queste due tecniche Configurazione di default per Helix Server Riservare un certo numero di indirizzi IP multicast: 1 per ogni bit-rate
Push Esiste una connessione persistente tra transmitter e receiver Il server è subito pronto a soddisfare i player Pull Non esiste alcuna connessione persistente tra transmitter e receiver In configurazioni avanzate queste due tecniche possono coesistere Uso efficiente della rete Uso inefficiente della rete Introduce una maggiorelatenza per la prima richiesta Molto semplice da realizzare Richiede una esplicita configurazione del transmitter e del receiver lato Server
Il SureStream-Aware Splitting permette di distribuire soltanto la specifica codifica dello stream richiesta dal client. Non sarà mai trasmessa al receiver una codifica non richiesta esplicitamente. E uno spreco di risorse utili!E una soluzione più efficiente!
Esistono configurazioni con ridondanza sugli encoder, sui server e sugli stream: Maggiore affidabilità del servizio Maggiore qualità Uso efficiente della rete (Content Caching e Media Proxy) Due modalità di funzionamento: 1. Fault tolerant 2. Load balancing Due modalità di funzionamento: 1. Fault tolerant 2. Load balancing
Media Proxy: Aumenta la qualità dello streaming avvicinando sempre di più i contenuti al player Content Caching: Aumenta la qualità dello streaming avvicinando sempre di più i contenuti al player I Subscriber mantengono una cache dei contenuti inseriti sui Publisher Il Proxy funge da intermediario tra i Player ed il Server
Encoder Redundancy: gli encoder trasmettono lo stesso live stream e formano una coda in base allarrivo delle connessioni Identificativo dellencoderStesso contenuto multimediale
Configurazione Avanzata: combinazione di encoder redundancy, multiple servers e broadcast redundancy Broadcast Redundancy: il receiver riceve un duplicato dello stream (flusso unicast e multicast)
La latenza è un parametro importante da controllare specialmente quando si utilizza lo splitting Latenza end-to-end (max 10 sec.) Latenza di startup bassa Helix Server permette di variare i parametri sulla latenza con il latency mode Intervallo di tempo che intercorre da quando si verifica levento live a quando viene riprodotto sul media player Intervallo di tempo che intercorre da quando lutente clicca sullURL associato al file multimediale a quando il media player avvia la riproduzione del contenuto
Il lettore multimediale riceve in carico lo stream e lo decodifica per riprodurne il contenuto Il Media Playback Pane consente di visualizzare le clip scaricate o in streaming Il Realted Info Pane fornisce allutente informazioni aggiuntive sulla presentazione Il Media Browser Pane permette allutente di navigare sul WEB
La playlist comprende una sequenza di clips che il media player riceve come singolo stream La playlist è asscoiata ad un file XML: ………… La playlist è asscoiata ad un file XML: ………… La playlist può essere trasmessa in 3 possibili sessioni: Externally controlled Internally controlled Non controlled In una sessione externally controlled lutente player può muoversi tra le differenti parti che costituiscono la playlist usando delle direttive HTTP (in genere cliccando su dei link). Il controllo della playlist quindi è esterno al canale RTSP. Nota: A ciascuna sessione RTSP è associato un ID utilizzato nelle direttive HTTP. In una sessione externally controlled lutente player può muoversi tra le differenti parti che costituiscono la playlist usando delle direttive HTTP (in genere cliccando su dei link). Il controllo della playlist quindi è esterno al canale RTSP. Nota: A ciascuna sessione RTSP è associato un ID utilizzato nelle direttive HTTP. In una sessione internally controlled lutente può spostarsi allinterno della playlist mediante dei comandi RTSP impartiti allHelix Server. In questo caso, il controllo della playlist è interno allo stream del contenuto multimediale e la playlist deve essere composta da stream che presentano una durata definita In una sessione internally controlled lutente può spostarsi allinterno della playlist mediante dei comandi RTSP impartiti allHelix Server. In questo caso, il controllo della playlist è interno allo stream del contenuto multimediale e la playlist deve essere composta da stream che presentano una durata definita In una playlist con sessione non- controlled il media player tratta lintera sessione come un unico live stream e non sono disponibili in alcun modo i comandi per il controllo della risproduzione