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