Distribuzione video su Web
Transcript
Distribuzione video su Web
Distribuzione video su Web di Claudio Laurita La distribuzione di un video in Internet richiede alcuni accorgimenti che ne ottimizzino la fruibilità. In primo luogo è necessario scegliere che tipo di distribuzione adottare e quindi il formato del file video più confacente, curandosi alleggerire il file agendo sulle dimensioni del video e con la compressione. Infine bisogna creare la pagina html inserendovi un “oggetto” che identifichi il lettore da utilizzare per vedere il file video. Questo articolo analizza le possibili varianti di questa procedura, passo per passo, dalla scelta della modalità di distribuzione alla creazione del codice html. Premessa Per distribuire un filmato via web ci sono attualmente tre strade: 1. Far scaricare l'intero filmato come un qualunque altro file e lasciare che ognuno se lo veda con il player che preferisce E' il metodo più semplice anche se sicuramente poco elegante. Non ci sono problemi tecnici nel comporre la pagina web. Un semplice link al file è tutto ciò che serve. Quando l'utente attiva il link, il browser chiede di salvare il file o di lanciare il lettore a cui è associato. Bisogna tenere conto del fatto che, prima che l'utente possa cominciare a vedere il filmato, deve scaricare interamente il file. Quindi le dimensioni devono essere sufficientemente piccole o l'utente sufficientemente motivato (ed avvisato). A questo si aggiunge il problema del lettore (player) che deve essere in grado di gestire il formato che abbiamo scelto. Siccome non si può dare per scontato che l'utente abbia a disposizione una dotazione "minima", la questione non va sottovalutata. La considerazione più importante, però, è che con questo sistema il file può agevolmente essere salvato sul disco locale. Questo comporta diverse conseguenze: – la velocità del collegamento internet, sia dell'utente, sia del server che ospita il file, ha un'importanza relativa, perché influisce sul tempo totale dello scaricamento, ma non sulla qualità finale del filmato. – il filmato scaricato può essere utilizzato autonomamente dall'utente, come meglio crede; può, ad esempio, essere modificato o comodamente salvato su un CD o un DVD. – l'utente ha tutto il tempo di procurarsi il lettore giusto se ne è sprovvisto. In conclusione, possiamo dire che questo metodo va utilizzato quando si suppone che l'utente non sia interessato tanto a vedere subito il filmato, quanto a possederne una copia. Distribuzione video su Web Claudio Laurita 2. Inglobare nella pagina web il lancio del lettore richiesto per la visualizzazione (come oggetto HTML) La differenza più evidente dal primo metodo e che il filmato è visualizzato direttamente nella pagina web, dunque nel browser. A parte un (opinabile) vantaggio estetico, questo "obbliga" l'utente a visitare il sito che ospita il filmato, tutte le volte che desidera guardarlo. Visto che ormai Internet vive di pubblicità, è ovvio che questo lo ha reso di gran lunga il metodo più utilizzato. In realtà un utente esperto è quasi sempre in grado di salvare comunque una copia del filmato sul proprio computer, ma non è certo una procedura alla portata di tutti. Se le cose si fermassero qui, però, sicuramente per i più non varrebbe la fatica necessaria. La vera scommessa sta nel poter visualizzare il filmato durante il trasferimento del file, il cosiddetto "scaricamento progressivo", il che consente di ridurre a pochi secondi il ritardo tra l'attivazione del lettore e l'inizio della proiezione, anche in presenza di files molto grandi. Il trasferimento del file prosegue mentre l'utente guarda la parte di filmato già scaricata. Questa possibilità dipende totalmente dal lettore utilizzato e dal relativo formato del file, e quindi, in questo caso molto più che nel precedente, la scelta del formato è strategica per due motivi principali: – la velocità del collegamento Internet è fondamentale per evitare lunghe e penose pause durante la visione, in attesa che si carichi la successiva porzione di file. Quindi bisogna evitare formati che richiedano grandi quantità di dati o, almeno, dare la possibilità di scegliere tra formati diversi, in base alle proprie possibilità; – l'utente deve avere necessariamente installato il lettore che abbiamo scelto di utilizzare. Per minimizzare la probabilità che l'utente non sia in grado di guardare il filmato per mancanza del lettore giusto, i vari produttori di lettori e di browser hanno messo a punto diverse tecniche per automatizzare l'installazione del software necessario a far funzionare tutto il meccanismo, ma in tempi di continui attacchi virali e spionistici, sono tutte strade irte di ostacoli, quindi bisogna mettere in conto che esista concretamente il rischio che un utente poco esperto non sia in grado di vedere il filmato. In conclusione, questo è sicuramente il metodo più utilizzato e probabilmente quello che la maggioranza degli utenti si aspetta di trovare, quindi quello sui cui vale la pena investire in termini di conoscenza, ma tenendo sempre presenti i suoi limiti intrinseci. 3. Organizzare un vero e proprio streaming video Lo streaming propriamente detto è sempre un meccanismo client-server. Il lettore (il client) deve comunicare direttamente con un programma dedicato (il server) che deve essere ospitato su un server web, non necessariamente lo stesso che ospita tutto il resto del sito. I due programmi si scambiano i dati in maniera sincronizzata e totalmente indipendente dal resto del contenuto della www.laboratorioalice.com 2 Distribuzione video su Web Claudio Laurita pagina. Installare un server per lo streaming non è cosa da poco, né tecnicamente, né economicamente. Se si vuole seguire questa strada, la cosa più semplice è affittare dello spazio da chi vende questo servizio ed attenersi alle sue raccomandazioni. Finita questa panoramica introduttiva, cominciamo a scendere maggiormente nel dettaglio del problema. Scegliere il formato del file video Ovviamente, il formato del file video è fondamentale in tutti i casi. Ci sono tre fattori da considerare: 1. il formato del video (dimensione in pixel e frame rate ossia fotogrammi al secondo, fps) 2. il formato di compressione (sono in realtà due distinti: audio e video) 3. il formato "contenitore" ossia la struttura finale del file, che spesso, ma non sempre purtroppo, è indicata dall'estensione del nome del file. Per avere un punto di riferimento certo prendiamo in esame il formato video per antonomasia: il DVD, che si basa su un formato "contenitore" chiamato VOB. Esso prevede dei valori standard per gli altri due fattori: compressione video MPEG-II e compressione audio a scelta tra MP2 ed AC3; formato video 720x576 pixel, 25 fps (PAL, tralascio il formato americano NTSC) audio a 48000 Hz, stereo o mono a scelta. Tralascio anche gli altri elementi del DVD (menu, sottotitoli ecc.) perché esulano dall'argomento principale. Possiamo considerare con buona approssimazione che un VOB di buona qualità della durata di un'ora occupi circa 4 Gbytes. In realtà, la dimensione complessiva del file interessa solo per il caso 1, mentre per gli altri due quello che conta è la quantità di dati necessari a visualizzare un secondo di filmato (il bit rate). Se dividiamo 4 Gb per 3600 secondi (un'ora), vediamo che per un secondo serve circa un Mbyte (10 Mbps, megabits per secondo). Se consideriamo che una buona connessione Internet è in grado di garantire realisticamente circa 1 Mbps, è evidente che questo formato non è di alcuna utilità nel mondo Web, ma è un prezioso riferimento in termini di qualità. Di sicuro, dunque, la qualità DVD è 10 volte superiore al massimo che possiamo ipoteticamente permetterci, ma in pratica è saggio tenerci drasticamente al di sotto di questo primo limite che abbiamo individuato. Infatti la velocità (la "banda") che un utente ha a disposizione, non dipende solo dal suo collegamento, ma anche da quello del server web che ospita i filmati: un server deve dividere la propria banda tra tutti gli utenti contemporaneamente collegati e quindi, a meno di aver investito notevoli quantità di denaro per un contratto professionale, difficilmente potrà garantire 1 Mbps a più di una decina di utenti contemporaneamente e comunque questo dato è di solito totalmente aleatorio. In conclusione è saggio limitarsi umilmente, per i nostri file, ad un formato che non richieda più www.laboratorioalice.com 3 Distribuzione video su Web Claudio Laurita di 300 Kbps, ossia 30 volte meno di un DVD. Ovviamente, avendone tempo e voglia, nessuno vieta di preparare lo stesso filmato in formati diversi, dando la possibilità all'utente di scegliere quello che meglio si adatta alle condizioni della linea al momento del collegamento. Ridurre le dimensioni del file video Per ridurre le dimensioni del file abbiamo essenzialmente due strade: agire sulle dimensioni del video o sulla compressione. Rimpicciolire il video Non è opportuno toccare i frames per secondo che conviene tenere fermi a 25, se non in casi molto particolari, quindi occorre banalmente rimpicciolire il video. Il rapporto tra larghezza ed altezza del video (aspect ratio) è sicuramente una questione molto delicata e dibattuta. I normali monitor ed i "vecchi" televisori hanno un rapporto di 4:3, ma la tendenza del mercato è verso il formato "cinema" (16:9) sia per i televisori che per i monitor. Per il web, però, bisogna considerare che ben difficilmente la qualità sarà tale da permettere di vedere il filmato a schermo intero (full screen) e quindi, tutto sommato, un rapporto vale l'altro. Il mio consiglio è di mantenere salomonicamente il formato del video di partenza, limitandosi solo a ridurne le dimensioni. Il formato più utilizzato sul web è 320x240 pixel (4:3), dunque oltre 5 volte più piccolo del formato DVD, ma ancora pienamente accettabile. Nessuno vieta di scendere ancora più in basso, ma, a mio parere, solo nell'ottica di una proposta multipla perché la fruizione diventa veramente poco gratificante. Il formato 384x288 si sta diffondendo rapidamente perché è ancora abbastanza "sicuro". Occorre puntualizzare che quanto detto fin qui ha validità generale, ma tutti i "contenitori" hanno delle limitazioni a cui bisogna attenersi, quindi non tutte le combinazioni sono sempre valide in pratica. Abbiamo visto che sacrificando le dimensioni del video possiamo ridurre di circa 5 volte il bit rate, ma siamo ancora molto distanti dal fattore 30 che era il nostro obiettivo finale. Dobbiamo quindi affidarci alla compressione. Comprimere il file La compressione MPEG-4 (resa celebre da uno dei suoi nomi commerciale, il DivX) è sicuramente molto più efficiente di quella MPEG-2, e riesce a garantire una riduzione di banda di circa 6 volte, www.laboratorioalice.com 4 Distribuzione video su Web Claudio Laurita mantenendo un'ottima qualità. Il rischio che l'utente non abbia un lettore in grado di leggerla è ancora reale, ma diminuisce molto velocemente e comunque è il prezzo che oggi tutti pagano sul web, quindi non è il caso di vederlo come un problema. Grazie all'MPEG-4, possiamo così arrivare al fattore 30 che ci eravamo prefissi (5 dalle dimensioni x 6 dalla compressione). Abbassare la qualità Nel caso volessimo scendere ulteriormente, o volessimo aumentare le dimensioni del video, ci resta ancora una carta da giocare: abbassare la qualità delle immagini. Sia MPEG-2 che MPEG-4, offrono la possibilità di regolare la qualità delle immagini, impostando il bit rate massimo accettabile. In ultima analisi è questa la taratura finale, che va fatta esclusivamente "ad occhio", abbassando progressivamente il bit rate, fino a raggiungere il compromesso che ci soddisfa. L'equilibrio tra dimensioni e qualità delle immagini è molto soggettivo. Alcuni preferiscono un filmato più grande, anche se più "sgranato", per altri è il contrario. Non resta che provare di persona. Scegliere il lettore Dopo tutte queste doverose premesse, veniamo quindi al punto cruciale: la scelta del lettore da utilizzare e, di conseguenza, del "contenitore". Prenderò in esame solo i primi due metodi spiegati in apertura dell'articolo, perché il terzo ha molte affinità con il secondo e comunque dipende totalmente dal server che si intende utilizzare. 1. Far scaricare l'intero filmato come un qualunque altro file e lasciare che ognuno se lo veda con il player che preferisce In questo caso la scelta è quanto mai ampia e ci si può permettere qualche libertà. Non fosse altro che per l'esistenza del mitico VLC (www.videolan.org) che è un lettore open source in grado di leggere veramente qualunque cosa. Un sano collegamento al sito del VLC, inserito nella pagina con i collegamenti ai filmati, garantisce che anche gli utenti meno forniti siano in grado, con poca fatica, di visualizzare quanto gli si propone. Un contenitore mp4 con compressione video MPEG-4 e compressione audio AAC garantisce dimensioni ridottissime ed un'ottima qualità. Un'alternativa molto utilizzata, ma non così sicura come si crede, è il contenitore AVI. Il bello dell'AVI è che permette teoricamente qualunque compressione, essendo molto più flessibile dell'mp4. In pratica, però, questa caratteristica, unita al fatto che esistono molte versioni del www.laboratorioalice.com 5 Distribuzione video su Web Claudio Laurita formato, ha creato una buona dose di confusione e non è raro trovarsi in difficoltà. Se si sceglie l'AVI, quindi, il consiglio è di usare compressioni "tranquille": MPEG-1 per il video e MP3 per l'audio. Se non altro per avere la garanzia che tutte le versioni di Windows Media Player siano in grado di leggerle. Non bisogna dimenticare, infatti, che in questo caso non abbiamo limitazioni di banda e ci si può permettere di distribuire files giganteschi in tutta tranquillità. 2. Inglobare nella pagina web il lancio del lettore richiesto per la visualizzazione (come oggetto HTML) Qui il terreno si fa molto scivoloso, non tanto per i player, quanto per i browser che li dovranno inglobare. L'atavica lotta tra Microsoft e Netscape, si è riaperta più serrata di prima con l'avvento di Mozilla ed il campo della battaglia più aspra è proprio quello dei lettori multimediali da inglobare. Pretendere di suggerire una soluzione assolutamente funzionante è un'utopia, ma è comunque possibile raggiungere un discreto livello di tranquillità. Venendo ai lettori, storicamente gli unici antagonisti del Media Player di Microsoft sono QuickTime di Apple e RealPlayer della Helix. Da quando Real si è dedicato quasi interamente al mondo dello streaming (quasi tutte le televisioni mondiali hanno adottato la loro piattaforma per la diffusione in streaming), di fatto ha lasciato molti punti a QuickTime, anche se da qualche tempo sta cercando di riprendere il terreno perduto. Da qualche anno, poi, si è inserita prepotentemente anche la Adobe (prima Macromedia) che ha integrato la gestione dei filmati video nel suo celeberrimo Flash. Data la diffusione incredibile del FlashPlayer, e considerando anche alcune ingenuità di Apple nel gestire i cambi di versione negli scorsi anni, attualmente, a mio parere, la piattaforma Flash è la più appetibile. Non a caso è stata scelta da youtube, attualmente l'indiscusso punto di riferimento per la diffusione di filmati. In conclusione Ricapitolando, le possibilità sono (in ordine di mia preferenza): 1. - FlashPlayer - formato FLVAdobe 2. Apple - QuickTime - formato MOV 3. Helix - RealPlayer - formato RM 4. Microsoft - Windows Media Player - formato WMV Questa sorta di personale "classifica" deriva dal fatto che il FlashPlayer è ormai assolutamente ubiquitario, quindi la possibilità che qualcuno possa non vedere correttamente il nostro filmato è veramente risibile. Il QuickTime è sicuramente il formato tecnologicamente più valido. E' anche www.laboratorioalice.com 6 Distribuzione video su Web Claudio Laurita l'unico che gestisce il "vero" formato MPEG-4, quindi è quello che in definitiva può vantare la qualità migliore. La sua diffusione, però, non è paragonabile a quella del Flash. Probabilmente è anche meno diffuso del RealPlayer, che, grazie al fatto di essere utilizzato dalle televisioni di mezzo mondo (tra cui la Rai), ha raggiunto un notevole successo. Il formato Real, però, è stato per anni assolutamente proprietario, anche se ora è stato liberalizzato ed è stato rilasciato un ambiente di sviluppo gratuito, come Apple ha fatto molti anni prima. Per questo motivo, ancora non ci sono strumenti open source adeguati e quindi è sicuramente meno appetibile di QuickTime, al momento. L'ultimo posto di Microsoft, infine, deriva dal fatto che la sua forte tendenza ad interpretare gli standard a modo proprio, quando non addirittura ad osteggiarli, fa sì che in ambiente MAC o Linux, la probabilità di vedere correttamente il formato WMV sia decisamente più bassa, rispetto agli altri contendenti. Come preparare il file video A parte svariate soluzioni commerciali, ci sono essenzialmente due motori open source di transcodifica di formato audio/video: ffmpeg e MEncoder. Entrambi sono decisamente ostici da utilizzare perché mancano di interfaccia grafica. La francese eRightSoft ha creato una eccellente interfaccia grafica verso i due motori. Si chiama Super e si può scaricare gratuitamente dal sito www.erightsoft.com Con Super si possono tranquillamente creare tutti i formati tranne l'RM per il quale occorre scaricare RealProducer, gratuito nella versione basic, dal sito www.realnetworks.com L'interfaccia di Super può spaventare, ma in realtà è più semplice di quanto possa apparire, basta leggerla in maniera naturale, per righe successive dall'alto verso il basso e da sinistra a destra in ciascuna riga. La prima riga permette di configurare, nell'ordine, il contenitore, la compressione video e quella audio. La seconda permette di scegliere il motore di transcodifica, ma in prima battuta conviene lasciare i valori preimpostati. www.laboratorioalice.com 7 Distribuzione video su Web Claudio Laurita La terza si riferisce al formato del video: dimensioni in pixel, rapporto tra le dimensioni, fotogrammi al secondo ed infine la qualità, ossia il bitrate. Le opzioni avanzate possono essere tralasciate in prima istanza. La quarta riguarda il formato dell'audio: frequenza, canali (mono o stereo) e qualità, ossia bitrate. L'ultima colonna serve a selezionare una particolare traccia audio, nel caso il filmato di origine sia in formato DVD, con più tracce audio e quindi normalmente non serve. La quinta contiene semplicemente il riepilogo delle impostazioni fatte e mostra lo stato di avanzamento del lavoro di trasformazione, una volta avviato. La sesta parte è quella in cui si deve trascinare il file da elaborare (il filmato originale). Si deve perciò tenere aperta una finestra con esplora risorse o similare, contenente il file, a fianco della finestra di super e trascinarlo all'interno del riquadro. Questa parte, forse, è la meno comoda. In realtà esiste anche un menu, accessibile con il tasto destro del mouse, che permette di impostare anche la cartella di destinazione del file elaborato, ma il meccanismo del trascinamento, non è male, una volta fatta l'abitudine. www.laboratorioalice.com 8 Distribuzione video su Web Claudio Laurita L'ultima parte contiene i bottoni per impartire gli ordini di elaborazione. "Encode" è quello che serve per avviare il processo di codifica, una volta impostate tutte le opzioni. Per realizzare gli esempi pubblicati sul sito sono partito da un file in formato MPEG-2 DVD (ma non ancora inserito nel contenitore VOB). Per la cronaca, è un cortometraggio di Charlie Chaplin del 1914, (che è ormai di pubblico dominio e può essere liberamente scaricato dal sito www.archive.org) restaurato e portato in formato DVD (ma questa è un'altra storia). Di seguito si riportano le schermate di Super con le impostazioni utilizzate per trasformare il file originale nei vari formati per il web. Come si può notare analizzando le schermate, in tutti i casi il bitrate è 288 Kbps per il video e 32 Kbps per l'audio, dunque in totale circa 300 Kbps. Per completezza si riporta anche la schermata di RealProducer Basic, anche se la versione gratuita del programma ha parecchi limiti, tra cui quello di non permettere il ridimensionamento del video ed è stato quindi necessario un doppio passaggio: ridimensionamento tramite Super e codifica tramite RealProducer. Il file originale è di circa 97 Mb. I file elaborati sono: FLV: 14,763 Mb MOV: 15,182 Mb RM: 17,233 Mb WMV: 14,296 Mb Un'ultima nota riguardo al formato WMV, che stando alle dimensioni del file, risulta quello con la migliore compressione. Super arriva a gestire solo la versione 8 del formato WMV. Ora è disponibile la 9 e Microsoft ha rilasciato un programma gratuito (Windows Media Encoder 9) che permette di convertire i filmati in tale formato. A parte la fastidiosa rigidità nelle opzioni di conversione, che potrebbe anche risultare utile a chi non ha voglia di capire cosa sta facendo, quello che mi ha lasciato perplesso è la dimensione finale del file di 24,176 Mb, non giustificata da alcun eclatante aumento di qualità. Un motivo in più per conservare l'ultimo posto della mia classifica. www.laboratorioalice.com 9 Distribuzione video su Web Claudio Laurita 1. Formato FLV Al momento della codifica, Super chiede se si vuole salvare nel classico formato Flash (SWF) o in formato FLV. I filmati in formato SWF hanno lo svantaggio di non gestire lo scaricamento progressivo, quindi bisogna scegliere il formato FLV. Si noti che la compressione video non è MPEG-4, ma "flash video", perché il formato FLV accetta solo quella compressione. I risultati, comunque sono molto buoni, sia come qualità che come dimensioni. www.laboratorioalice.com 10 Distribuzione video su Web Claudio Laurita 2. Formato MOV Il MOV è l'unico formato che può vantare la compressione MPEG-4 autentica. Anche per l'audio, l'AAC è decisamente migliore del "vecchio" MP3. Insomma, una scelta di qualità senza compromessi. Peccato solo che non sia diffuso come il Flash e che ci siano alcuni problemi di coesistenza pacifica con la vecchia versione 3 di QuickTime che ancora molti vecchi CD multimediali pretendono di trovare installata. Tutti problemi molto relativi, comunque. www.laboratorioalice.com 11 Distribuzione video su Web Claudio Laurita 3. Formato RM Il RealProducer è sicuramente un ottimo programma anche se la versione Basic, gratuita, è decisamente un po' limitata. A parte il già citato problema del ridimensionamento, anche la taratura del bit rate è meno flessibile di quella offerta dal Super ed infatti il file è risultato più grande degli altri. I risultati, comunque, sono pienamente soddisfacenti. www.laboratorioalice.com 12 Distribuzione video su Web Claudio Laurita 4. Formato WMV Anche in questo caso la compressione non è l'originale MPEG-4, ma un adattamento proprietario di Microsoft, la versione 8 di Windows Video. Volendo, esiste una versione di MPEG-4 per il lettore Microsoft, ma di fatto, questo aumenta di molto la probabilità di incompatibilità con molte installazioni di Media Player. Microsoft spesso riesce ad essere incompatibile con se stessa! Insomma, come qualità è ottima, ma la domanda è: perché usare un formato proprietario che va bene solo in ambiente Windows (e non sempre), quando ce ne sono altri che vanno bene ovunque? www.laboratorioalice.com 13 Distribuzione video su Web Claudio Laurita Preparare la pagina HTML Arriviamo finalmente all'ultimo passo: la preparazione della pagina HTML. In tutti i 4 casi affrontati, è necessario inserire nella pagina un "oggetto" che identifichi il lettore da utilizzare. Tra i parametri di creazione di questo oggetto, c'è ovviamente il nome del file che vogliamo visualizzare. In altri termini, è il lettore che provvede autonomamente a richiedere il file al server, riuscendo, così, a gestire lo scaricamento progressivo. Tutti i formati considerati, tranne Flash, forniscono dei lettori pronti all'uso, con tanto di pulsanti per far partire e fermare il filmato e vari altri controlli (volume, barra di avanzamento, ecc.). Per il Flash, invece, bisogna fare un discorso a parte. Il FlashPlayer propriamente detto, non ha niente di pronto per questo impiego. Praticamente ognuno deve farsi il proprio lettore multimediale utilizzando Flash come linguaggio di programmazione, il che non è certo alla portata tutti. Per fortuna c'è un bellissimo programma open source chiamato FlowPlayer che colma questa grave ed apparentemente paradossale lacuna. Si può scaricare gratuitamente da flowplayer.sourceforge.net ed è costituito, nella sua forma più semplice, dal file FlowPlayer.swf che va copiato sul server web insieme ai file FLV. Codice HTLML La struttura del codice HTML che richiama il lettore, è simile per tutti i casi: <object> <param/> <embed/> </object> Ricordo che in HTML un "elemento" è sempre delimitato dai simboli <>. Il suo nome è la prima parola che si incontra dopo il simbolo < ed i suoi "attributi" seguono il nome ed hanno la forma nome = valore. La fine di un elemento può essere indicata semplicemente da una barra / posta prima del simbolo > oppure da una ulteriore coppia di simboli <> in cui il nome dell'elemento è ripetuto preceduto da una barra /. In questo caso, per il momento, si sono omessi tutti gli attributi per far risaltare gli elementi. Si tratta, dunque, di un elemento object, che contiene al suo interno uno o più elementi param, ed un elemento embed. In pratica l'elemento object viene "capito" da Internet Explorer e tutti i suoi parenti, mentre embed viene "capito" da Netscape e dai suoi "figli", primo fra tutti Firefox. Questa è la tecnica in assoluto più usata e certamente più sicura anche se l'elemento embed non fa parte dell'HTML "pulito" ed il suo uso è deprecato dallo standard ufficiale. Tutti i tentativi di www.laboratorioalice.com 14 Distribuzione video su Web Claudio Laurita rendere completamente standard la cosa naufragano nel mare di differenze tra i browser, o si incartano tristemente in soluzioni complicatissime, mentre questa tecnica sarà pure "sporca", ma non perde un colpo ed è, tutto sommato, semplice. L'unico fastidio è dover ripetere due volte i parametri per i due elementi, ma pazienza. I parametri dell' object vengono dichiarati, come è facile intuire, tramite gli elementi param, mentre per l' embed vengono dichiarati direttamente come attributi dell'elemento. Anche object, comunque, ha degli attributi e sono fondamentali: – classid contiene un codice che identifica in maniera univoca il lettore ed ha senso unicamente in ambiente Windows da Internet Explorer – codebase contiene l'indirizzo internet da cui il browser può scaricare automaticamente il lettore se non è già installato sulla macchina – type contiene il codice internazionale (il MIME) che identifica univocamente il lettore, in pratica è la versione standard del classid – width contiene la larghezza in pixel del lettore – height contiene l'altezza in pixel del lettore Per l'embed, valgono gli ultimi tre, mentre il codebase è rimpiazzato dal pluginspage. Per quanto riguarda il nome del filmato, si ricordi che deve essere inserito due volte, una per l'object ed una per l'embed. Negli esempi si è seguita la via più semplice: mettere nella stessa cartella il file HTML ed il file del filmato, ma possono essere in cartelle diverse. Ovviamente in questo caso il nome del filmato deve essere preceduto dal percorso, assoluto o relativo, secondo le normali regole dell'HTML. Tutti i lettori sono più o meno configurabili nell'aspetto e nella dotazione di pulsanti e controlli, tramite i parametri, ma per una trattazione esaustiva si rimanda ai relativi manuali. Si riporta di seguito, per ciascun caso, il codice HTML delle pagine di esempio. Ovviamente è possibile copiare integralmente le righe che interessano sostituendo semplicemente il nome del filmato (chaplin.xxx) con il proprio ed ovviamente cambiando width ed height se occorre. I parametri da cambiare sono riportati in grassetto nei vari casi. 1. FLV <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9, 0,0,0" www.laboratorioalice.com 15 Distribuzione video su Web Claudio Laurita type="application/x-shockwave-flash" data="FlowPlayer.swf" width="320" height="262" id="FlowPlayer"> <param name="allowScriptAccess" value="sameDomain" /> <param name="movie" value="FlowPlayer.swf" /> <param name="quality" value="high" /> <param name="flashvars" value="config={videoFile: 'chaplin.flv'}" /> <embed src="FlowPlayer.swf" quality="high" bgcolor="#ffffff" width="320" height="262" name="FlowPlayer" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="config={videoFile: 'chaplin.flv'}"/> </object> Si noti che l'altezza del lettore è 22 pixel in più rispetto a quella effettiva del filmato per ospitare i pulsanti del lettore. In questo caso il FlashPlayer viene chiamato per visualizzare il vero e proprio lettore FlowPlayer.swf. Il nome del filmato è inserito tra i parametri del FlowPlayer (videoFile). FlowPlayer.swf deve trovarsi nella stessa cartella del file da visualizzare chaplin.flv 2. MOV <OBJECT CLASSID="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" width="340" height="255" CODEBASE="http://www.apple.com/qtactivex/qtplugin.cab"> www.laboratorioalice.com 16 Distribuzione video su Web Claudio Laurita <param name="src" value="chaplin.mov"> <param name="autoplay" value="false"> <param name="controller" value="true"> <embed src="chaplin.mov" width="340" height="255" autoplay="false" CONTROLLER="true" PLUGINSPAGE="http://www.apple.com/quicktime/download/"> </EMBED> </OBJECT> Si noti che l'altezza del lettore è 15 pixel in più rispetto a quella effettiva del filmato e la larghezza è 20 pixel in più. 3. RM <table border='0' cellpadding='0' align="center"> <!-- video --> <tr><td> <object classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" width="320" height="240" id="RealVideo"> <param name="src" value="chaplin.rm"> <param name="controls" value="ImageWindow"> <param name="console" value="video"> <param name="autostart" value="true"> <embed name="RealVideo" www.laboratorioalice.com 17 Distribuzione video su Web Claudio Laurita type="audio/x-pn-realaudio-plugin" src="chaplin.rm" width="320" height="240" controls="imagewindow" autostart="true" console="video"> </embed> </object> </td></tr> <!-- control panel --> <tr><td> <object classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" width="320" height="30" id="RealController"> <param name="src" value="chaplin.rm"> <param name="controls" value="ControlPanel"> <param name="console" value="video"> <param name="autostart" value="true"> <embed name="RealController" type="audio/x-pn-realaudio-plugin" src="chaplin.rm" width="320" height="30" controls="ControlPanel" autostart="true" www.laboratorioalice.com 18 Distribuzione video su Web Claudio Laurita console="video"> </embed> </object> </td></tr> </table> Questo caso è decisamente più complesso perche il RealPlayer viene chiamato due volte con due object distinti tenuti insieme da una tabella. La prima istanza visualizza effettivamente il filmato, mentre la seconda visualizza solo i pulsanti del lettore e quindi ha un'altezza fissa di 30 pixel. La larghezza va eventualmente cambiata in entrambe le istanze del lettore. 4. WMV <OBJECT CLASSID="clsid:22d6f312-b0f6-11d0-94ab-0080c74c7e95" id='mediaPlayer' width="320" height="285" CODEBASE="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Versio n=5,1,52,01" type='application/x-oleobject'> <param name='fileName' value="chaplinwmv8.wmv"> <param name='animationatStart' value='true'> <param name='transparentatStart' value='true'> <param name='autoStart' value="true"> <param name='showControls' value="true"> <param name='loop' value="false"> <embed src="chaplinwmv8.wmv" width="320" height="285" id='mediaPlayer' www.laboratorioalice.com 19 Distribuzione video su Web Claudio Laurita name='mediaPlayer' displaysize='4' autosize='-1' showcontrols="true" showtracker='-1' showdisplay='0' showstatusbar='0' videoborder3d='-1' autostart="true" designtimesp='5311' loop="false" type='application/x-mplayer2' PLUGINSPAGE="http://microsoft.com/windows/mediaplayer/en/download/"> </EMBED> </OBJECT> Si noti che l'altezza del lettore è 45 pixel in più rispetto a quella effettiva del filmato. Claudio Laurita è il titolare di Integrazione Totale. Ideatore e realizzatore di Laboratorio Alice, si occupa di ricerca e sviluppo nell'ambito della programmazione informatica e progettazione web. Può essere raggiunto a [email protected] o su skype: claudio.laurita www.laboratorioalice.com 20