Progettazione Di Una Piattaforma Per Lo Streaming Video E La Sincronizzazione Di Contenuti Multimediali
Total Page:16
File Type:pdf, Size:1020Kb
Università degli studi di Padova Facoltà di scienze MM. FF. NN. Laurea in Informatica Progettazione di una piattaforma per lo streaming video e la sincronizzazione di contenuti multimediali Laureando: Roberto Baldin Matricola: 561592 Relatore: Dott.ssa Ombretta Gaggi Anno accademico 2008/2009 Indice 1 Introduzione 1 1.1 Descrizione dell’azienda QBGROUP . 1 1.2 Descrizione dello stage . 2 2 Streaming server 5 2.1 Introduzione . 5 2.1.1 Concetto di streaming, storia e protocolli . 5 2.1.2 Confronto tra progressive download, pseudo streaming e streaming . 6 2.2 Scelta del server di streaming . 7 2.2.1 Configurazione hardware e software del server . 7 2.2.2 Soluzioni individuate . 8 2.2.3 Installazione di Adobe Flash Media Streaming Server . 8 2.2.4 Installazione di Red5 Media Server . 11 2.2.5 Installazione di Windows Media Services . 15 2.2.6 Confronto tra le soluzioni e benchmark . 16 2.3 Completamento configurazione del server di streaming . 17 2.3.1 Problematiche di accessibilità dei contenuti . 17 2.3.2 Scelta del client . 21 2.3.3 Formati e caratteristiche dei video . 21 2.3.4 Automazione della procedura di conversione . 25 3 Sincronizzazione di contenuti multimediali 31 3.1 Introduzione . 31 3.1.1 Strumenti e tecnologie utilizzate . 32 3.1.2 SMIL: Synchronized Multimedia Integration Language . 36 i 3.2 Sviluppo di un’applicazione web per la sincronizzazione di contenuti multi- mediali . 39 3.2.1 Sviluppo di un’applicazione per la sincronizzazione tra video e slide 39 3.2.2 Sviluppo di un player SMIL per il web . 46 4 Conclusioni 57 Ringraziamenti 59 ii Capitolo 1 Introduzione Negli ultimi anni, si è assistito ad un interesse crescente verso le tecnologie per lo strea- ming di contenuti multimediali attraverso la rete ed, in particolare, attraverso Internet; la diffusione della banda larga e l’aumento delle prestazioni dei calcolatori ne sono stati contemporaneamente la causa e l’effetto. Aree applicative come e-learning, entertainment e telemedicina sono solo alcuni degli esempi dove streaming e video on-demand risultano di rilevanza critica, ma in molti altri campi queste tecnologie si stanno facendo avanti, rivestendo sempre maggiore interesse per le aziende. 1.1 Descrizione dell’azienda QBGROUP L’azienda QBGROUP [1] lavora nel settore della sanità. La principale caratteristica, che le permette di differenziarsi dalle altre nello stesso ambito, consiste nella particolare attenzione che dedica alle nuove tecnologie. I clienti dell’azienda possono essere riassunti in aziende farmaceutiche, società scientifiche, strutture sanitarie pubbliche e private, e altri enti o aziende che operano nell’ambito medicosanitario. Per rispondere in modo mirato alle esigenze dei clienti, QBGROUP è formata da cinque divisioni specializzate che collaborano tra loro: • etiCRO: studi e ricerche • Medilon: strategie Internet • CAtedra: formazione • Telèmesys: strumenti e telemedicina • QUBIsoft: tecnologie informatiche In particolare, etiCRO può essere definita come una Contract Research Organization, ovvero un’organizzazione di servizio che offre appoggio all’industria farmaceutica/biotec- nica. Si focalizza principalmente nell’epidemiologia clinica, nelle ricerche osservazionali e negli studi di management sanitario. Medilon si occupa di realizzare siti internet italiani all’avanguardia per la medicina specialistica, i pazienti e le società scientifiche. CAtedra è la divisione specializzata nella realizzazione di corsi e percorsi di aggiornamento e appro- fondimento rivolti ai medici e agli operatori sanitari. Rivolge particolare attenzione alle 1 nuove tecnologie, utilizzandole per fornire una formazione innovativa. Telèmesys concentra l’attenzione nella progettazione, realizzazione e distribuzione di strumenti elettromedicali, atti soprattutto al telemonitoraggio di pazienti con patologie croniche. Utilizza la rete Internet per la trasmissione, la visualizzazione e l’analisi dei dati. Infine QUBIsoft è la di- visione il cui compito è progettare e sviluppare tecnologie informatiche in ambito sanitario. QUBIsoft agisce sia per clienti esterni, rispondendo adeguatamente ai bisogni del mondo sanitario, sia per l’azienda stessa, studiando e implementando le tecnologie informatiche a supporto dei progetti sviluppati da QBGROUP. 1.2 Descrizione dello stage Sono molti i campi applicativi in cui le soluzioni di streaming di contenuti multimediali, sia live che on-demand, risultanto di grande interesse per l’azienda QBGROUP. Lo stage nasce però inizialmente dall’esigenza di aggiornare la propria offerta relativa ad un portale web: eDott [2]. eDott è un portale dedicato alla formazione e all’aggiornamento dei medici, nato nel 2000 e che conta oggi oltre 30 mila utenti registrati. Sin dalla nascita, il portale offre ai visitatori gran parte dei contenuti in formato video, siano essi corsi di formazione, intervi- ste a esperti di rilievo in ambiente medico, presentazioni di nuovi farmaci o registrazioni di convegni. Attualmente il portale offre questo tipo di contenuti utilizzando la tecnica pro- gressive download, che consente unicamente un accesso sequenziale ai dati: in pratica non è possibile, usando questa tecnica, scegliere arbitrariamente dove iniziare la riproduzione del video senza prima scaricare tutti i dati dall’inizio del video sino al punto scelto. Negli ultimi anni però l’aspettativa dell’utente è cresciuta e QBGROUP ha deciso di allineare la sua offerta a quella dei grandi portali e delle community di condivisione video. L’azienda non può in effetti sfruttare le funzionalità offerte da questi portali, trattando materiale relativo all’ambito medico che non può essere reso pubblico indiscriminatamente. In que- sto campo, l’adozione di un server di streaming consente maggior controllo sugli accessi e quindi maggior sicurezza; inoltre usando una tecnologia di streaming, il client, al termi- ne della visualizzazione, non ha una copia del media sul proprio computer. Non ultimo, l’aggiornamento dell’offerta permetterebbe anche di ospitare trasmissioni live e non solo on-demand. Lo stage si prefigge in primo luogo l’obiettivo di studiare le soluzioni esistenti in materia di streaming server, scegliere e quindi provare sul campo le opzioni ritenute più valide, in merito a prestazioni, costi, scalabilità e flessibilità. Una seconda fase prevede lo studio delle problematiche di accessibilità dei contenuti multimediali; in questo caso con accessibilità si intendono in particolare le limitazioni dovute all’infrastruttura tecnologica con cui si intende accedere ai contenuti, quindi configurazione del client e configurazione della rete. L’ultima fase di questa prima parte di stage prevede infine lo studio delle caratteristiche dei video da pubblicare. La scelta del formato e di altre caratteristiche, quali ad esempio il bitrate di codifica, non sono infatti da trascurare e dovrebbero essere commisurate al traffico reale di visitatori. Scelti questi parametri, si intende infine realizzare una procedura per automatizzare le operazioni di conversione. Per provare in maniera adeguata quanto svolto nella prima parte di stage, si è deciso di realizzare un piccolo applicativo di interesse per l’azienda. L’esigenza è quella di crea- 2 re un software per la sincronizzazione di video e slide, che faccia naturalmente uso delle tecnologie opportunamente approntate in precedenza e che sia il più accessibile possibile; anche in questo caso il termine accessibile è usato per indicare la volontà di raggiungere il massimo numero di utenti, indipendentemente dalla piattaforma di lavoro. L’ultima fase dello stage, inizialmente non prevista nel piano, ha visto il potenziamento dell’applicativo creato in precedenza, fino a renderlo un player in grado di interpretare un sottoinsieme del linguaggio SMIL. Di seguito sono esposti due diagrammi Gantt con il piano preventivo dello stage, uno relativo alla prima parte e l’altro relativo alla seconda. Figura 1.1: piano preventivo della prima parte dello stage Durante il primo periodo dello stage il lavoro è stato incentrato principalmente sull’instal- lazione, la configurazione e il test del server di streaming. Rispetto a quanto previsto nel piano vi sono state poche variazioni; si sono verificati infatti alcuni piccoli ritardi in alcune attività, che sono però stati compensati da altre attività che si sono svolte in minor tempo. Alla fine si è scelto tra l’altro di installare e studiare tre diverse soluzioni di streaming e non due, come inizialmente preventivato. Figura 1.2: piano preventivo della seconda parte dello stage Nella seconda parte dello stage ci si è concentrati principalmente su aspetti più applicativi e si sono in particolare sviluppati alcuni software che fanno uso del server di streaming predisposto precedentemente. In questo caso si sono verificati dei forti ritardi iniziali do- vuti ad alcuni problemi esterni e non prevedibili (vedi paragrafo 2.2.4). Per poter tornare in linea con il piano è stato necessario accelerare alcune attività ed eliminarne una, consi- derata di minor importanza. Inizialmente si era infatti previsto di sviluppare un sistema che permettesse agli utenti di caricare i propri video in uno spazio web apposito; in segui- to quest’attività è stata eliminata, in quanto l’azienda dispone già di alcune applicazioni dedicate all’upload di contenuti sul web, e sarebbe sufficiente adattare una di queste per ottenere il servizio voluto, senza svilupparne un’applicazione da zero. Alla fine si è avanzato del tempo rispetto al piano iniziale, perciò si è creato lo spazio CAPITOLO 1. INTRODUZIONE 3 necessario per un’ultima attività