HTML5 video
HTML5 video è un elemento introdotto nelle specifiche dell'HTML5 con lo scopo di riprodurre filmati e video senza ricorrere all'elemento <object>.
Adobe Flash Player è sempre più usato per inserire video in siti come YouTube, dal momento che molti browser hanno questo software preinstallato (con l'eccezione di alcuni browser come quelli di Apple per iPhone e iPad e su Android 2.1 o precedente). L'HTML5 video è pensato per diventare il nuovo standard per vedere i video in rete, ma è ostacolato dalla mancanza di un accordo su quali formati video debbano essere supportati nel tag video.
Specifiche
L'HTML5 prevede una serie di attributi da aggiungere al tag di apertura <video> per indicare al browser se e come usare determinate caratteristiche:
- src - indica la posizione del file video;
- width - imposta la larghezza del video in pixel;
- height - imposta l'altezza del video in pixel;
- poster - consente di specificare un'immagine che sia visualizzata all'interno dell'area di riproduzione prima che il video venga eseguito;
- controls - la sua presenza indica al browser di visualizzare i classici controlli play, pausa, volume, barra di avanzamento ecc.;
- autoplay - quando è presente indica al browser di avviare la riproduzione del video appena si raggiungono le condizioni minime di buffer necessarie;
- loop - se è presente questa stringa, il browser ricomincerà nuovamente la riproduzione del video non appena questo sarà giunto alla fine;
- preload - questo attributo riguarda il caricamento del video e dispone di tre opzioni: none, metadata e auto: la prima indica al browser di non effettuare nessun caricamento del video finché non venga premuto il tasto play, la seconda indica di caricare soltanto i metadati, cioè informazioni di base come la durata, le dimensioni e i codec del video, mentre la terza indica al browser di cominciare immediatamente il caricamento del video;
- muted - la presenza di questo attributo fa sì che il browser non riproduca nessun suono durante la riproduzione del video;
- audio - questo attributo, impostato a muted, è stato sostituito dal precedente in seguito ad una revisione delle specifiche e non è più utilizzato.
Tra i tag di apertura (<video>) e chiusura (</video>) può essere inserito un testo che i browser che non supportano l'HTML5 mostreranno al posto del video.
Il seguente frammento di codice HTML5 inserisce un video in formato WebM nella pagina e mostra l'uso degli attributi visti precedentemente (nell'esempio sono mostrati tutti, nella realtà si inseriscono solo quelli desiderati).
<video src="esempio.webm" width="720" height="576" poster="immagine.jpg" controls autoplay loop preload="auto" muted> Questo testo viene visualizzato se il browser non supporta l'HTML5. </video>
Formati video supportati
Le correnti norme dell'HTML5 non specificano quali formati video i browser debbano supportare nel tag video. Pertanto ad oggi essi possono supportare qualunque formato che i loro sviluppatori ritengano appropriato.
Dibattito sul formato unico
l'HTML5 Working Group ritiene che sia preferibile che ci sia un formato video unico che sia supportato da tutti i browser. Il formato ideale dovrebbe:
- avere una buona compressione, una buona qualità dell'immagine e non gravare troppo sul processore;
- essere libero dalla necessità di pagare delle licenze per il suo utilizzo;
- avere, oltre ai decoder software, anche un decoder hardware, dato che molti processori integrati non sono abbastanza potenti da decodificare i video.
Inizialmente Theora era lo standard video raccomandato per l'HTML5, dal momento che non è vincolato da nessun brevetto conosciuto. Tuttavia il 10 dicembre 2007, la bozza dell'HTML5 è stata modificata, sostituendo il riferimento a Theora:
con:
Sebbene Theora non sia vincolato da nessun brevetto conosciuto, aziende come Apple e Nokia sono preoccupate per la possibilità che esistano brevetti nascosti, i cui proprietari potrebbero essere in attesa che una grossa compagnia usi il formato per poi reclamare il pagamento delle licenze. Apple, Microsoft e altre aziende detengono i brevetti del principale rivale, il formato H.264.
La rimozione del formato Ogg dalle specifiche è stata criticata, non sussistendo alcuna ragione per supporre che Theora sia vincolato da brevetti "nascosti", né essendo possibile accertarsi che brevetti "nascosti" esistano anche nel caso dell'H.264.
Apple, inoltre, si è opposta all'uso del formato Ogg nello standard HTML (che comunque non è obbligatorio) sostenendo che molti dispositivi supportano altri formati molto più facilmente e che l'HTML non ha mai imposto l'uso di un determinato formato su niente.
L'H.264/MPEG-4 AVC è più usato ed ha buone velocità, compressione, decoder hardware e qualità video, ma è coperto da brevetti. Tranne che in particolari casi, gli utilizzatori dell'H.264 devono pagare dei costi di licenza a MPEG LA, un gruppo di detentori di brevetti sull'H.264 che include Microsoft e Apple. Per questo motivo non è stato considerato adatto come codec unico per l'HTML5.
Acquisizione di On2 da parte di Google
L'acquisizione di On2 Technologies da parte di Google ha portato alla creazione del progetto WebM, che utilizza il codec video open source e libero da brevetti VP8 in un contenitore Matroska con audio Vorbis. È supportato dai browser Google Chrome, Opera e Mozilla Firefox, oltre che da altri meno utilizzati.
Quando Google annunciò nel gennaio 2011 l'intenzione di rimuovere il supporto nativo all'H.264 in Chrome, ricevette critiche da molte parti, tra cui Peter Bright di Ars Technica e Tim Sneath di Microsoft (uno dei detentori dei brevetti sull'H.264), che comparò la mossa di Google con la dichiarazione dell'esperanto come lingua ufficiale degli Stati Uniti. Comunque, Haavard Moen di Opera Software ha fortemente criticato l'articolo di Ars Technica chiarendo il suo intento di promuovere il WebM nei suoi prodotti sulla base dell'apertura di Internet.
Supporto da parte dei browser
Browser | Sistemi operativi | Ultima versione stabile | Supporto nativo | ||
---|---|---|---|---|---|
Theora |
H.264 |
WebM | |||
Android browser | Android | 4.2 "Jelly Bean" (13 novembre 2012) | Da 2.3 | Da 3.0 | Da 2.3 |
Chromium | Tutti i supportati | Da r18297 | Installazione manuale[1] | Da r47759 | |
Google Chrome | Tutti i supportati | 23.0.1271.64 (6 novembre 2012) | Da 3.0 | Da 3.0[2] | Da 6.0 |
Internet Explorer | Windows | 9.0.10 (21 settembre 2012) | Installazione manuale[3] | Da 10.0 | Installazione manuale[4] |
Windows Phone | 10.0 (14 febbraio 2011) | No | Da 9.0 | No | |
Konqueror | Tutti i supportati | 4.9.2 (2 ottobre 2012) | Da 4.4[5] | ||
Mozilla Firefox | Windows 7+ | 16.0.1 (11 ottobre 2012) | Da 3.5 | Da 4.0 installazione manuale[6] | Da 4.0 |
Tutti gli altri supportati | No | ||||
Opera | Tutti i supportati | 12.10 (6 novembre 2012) | Da 10.50 | No | Da 10.60 |
Origyn | MorphOS | (24 dicembre 2011) | Da 1.7 | Da 1.9 | |
Safari | iOS | 6.0.2 (1º novembre 2012) | No | Da 3.1 | No |
Mac OS X | Installazione manuale[7] | Installazione manuale[8] | |||
Windows | 5.1.7 | Installazione manuale | |||
Web (precedentemente Epiphany) | Tutti i supportati | 3.6.1 (18 ottobre 2012) | Da 2.28[9] |
Diffusione dei formati
Ad aprile 2010, quando l'iPad di Apple stava per essere lanciato, molti siti hanno cominciato ad offrire video in HTML5 col codec H.264 anziché in Flash per gli utenti identificati come iPad.
A maggio 2010 i video HTML5 non erano così diffusi come i video Flash, sebbene alcuni siti avessero cominciato ad utilizzare in via sperimentale i video in HTML5, tra cui Dailymotion (usando i formati Theora e Vorbis), YouTube (sia in H.264 che in WebM) e Vimeo (in H.264).
Secondo una nota di YouTube, l'elemento <video> attualmente non soddisfa tutte le esigenze del sito. La ragione principale di ciò è l'assenza di un formato standard, la mancanza di un sistema di protezione del contenuto e l'incapacità di mostrare i video a schermo intero. Anche Hulu non ha adottato l'HTML5 per l'impossibilità di adattare la banda disponibile all'utente e di proteggere i contenuti mostrati. Inoltre pure Netflix non ha adottato l'HTML5 per motivi analoghi.
L'11 gennaio 2011 il progetto Chromium di Google ha annunciato che rimuoverà il supporto ai codec chiusi (in particolare l'H.264) dai futuri rilasci di Chrome. L'annuncio specificava che la decisione era stata presa per aiutare la diffusione di un HTML5 libero da brevetti, favorendo l'uso dei codec open source VP8 e Theora.
Nell'aprile 2011 Google ha annunciato che YouTube convertirà tutti i suoi video in WebM cominciando dal 30 % di quelli più visti.
Uso di più formati video contemporaneamente
Nell'attesa che l'HTML5 Working Group stabilisca una volta per tutte quale debba essere il formato video ufficiale per l'elemento <video>, è possibile inserire nello stesso tag <video> diversi formati multimediali in modo che sia il browser a sceglere quale aprire. Per fare ciò si deve usare l'elemento <source>.
Ad esempio, supponendo di voler inserire in una pagina il video "esempio" nei tre formati Theora, H.264 e WebM, si deve utilizzare il seguente codice:
<video poster="immagine.jpg" controls> <source src="esempio.ogv" type="video/ogg"> <source src="esempio.mp4" type="video/mp4"> <source src="esempio.webm" type="video/webm"> <p>Questo testo viene visualizzato se il browser non supporta l'HTML5.</p> </video>
Note
- ^ Sono disponibili pacchetti codec di terze parti.
- ^ L'11 gennaio 2011 sul blog di Chromium è stata annunciata la rimozione del supporto all'H.264; tuttavia al 5 maggio 2025 esso non è ancora stato rimosso e non sono stati fatti ulteriori annunci al riguardo.
- ^ Sono disponibili pacchetti codec di terze parti.
- ^ Possibile se si è installato il codec VP8 su Windows.
- ^ Qualunque formato supportato da Phonon su Qt 4.5.
- ^ Possibile con l'estensione HTML5 per il plugin di Windows Media Player per Firefox.
- ^ Supportato se XiphQT è installato.
- ^ Disponibile il plugin Webm di Google.
- ^ Qualunque formato supportato da GStreamer su Webkit/GTK+.