Forza il video di YouTube HTML5


119

Per quanto riguarda il blog dell'API di YouTube , stanno sperimentando il loro nuovo lettore video HTML5 .

Apparentemente per riprodurre un video in html5, devi usare il codice di incorporamento iframe:

<iframe class="youtube-player" type="text/html" width="640" height="385"
  src="http://www.youtube.com/embed/VIDEO_ID" frameborder="0">
</iframe>

Ma se il client non si è unito alla versione di prova HTML5 , il lettore ricadrà automaticamente nel lettore flash anche se il browser del client supporta video HTML5.

Come forzare la riproduzione del video HTML5 se il browser lo supporta, anche se gli utenti non sono ancora coinvolti nella prova HTML5?

Altrimenti come disabilitare il fallback flash?

MODIFICARE:

È possibile forzare il lettore HTML tramite collegamenti a YouTube Video , ma ho bisogno di questo tipo di funzionalità per i video incorporati.


E se rilevassi la funzionalità HTML5 con js e implementassi il codice API di YouTube di conseguenza. O dovrei dire, se il video HTML5 non è supportato, non implementare l'API di YouTube poiché ricorrerebbe a Flash.
David Hobs

Risposte:


179

Ho trovato la soluzione:

Devi aggiungere html5=1nell'attributo src dell'iframe:

<iframe src="http://www.youtube.com/embed/dP15zlyra3c?html5=1"></iframe>

Il video verrà visualizzato come HTML5, se disponibile, o di riserva in Flash Player.


1
hmm - ora non funziona (stessi video), strano. Mi chiedo se funziona solo su alcuni server di YouTube?
UpTheCreek

1
Non funziona quando si aggiunge &html5=1alla fine di un video non incorporato: /
Moshe Revah

1
L'aggiunta &html5=1(o &html5=truequalcosa del genere) alla fine di un collegamento ipertestuale (non il video incorporato in iframe) non sembra funzionare in IE senza Flash.
Ryan

1
Video di YouTube con annunci utilizzeranno automaticamente il Flash player
turnt

8
Penso che tutti i rapporti siano di parte. Nessuno ha detto se è in "html5 beta di youtube" e questo è probabilmente un fattore chiave. Quando lascio la beta html5, sembra che? Html5 = 1 non faccia nulla. Ogni video è accompagnato dal flash.
Paul Brewczynski

20

La riproduzione o meno dei video di YouTube in formato HTML5 dipende dall'impostazione su https://www.youtube.com/html5 per browser. Chrome preferisce la riproduzione HTML5 automaticamente, ma anche gli ultimi Firefox e Internet Explorer utilizzano ancora Flash se è installato sulla macchina.

Il parametro html5 = 1 non fa (più) nulla ora. (Nota che non è nemmeno elencato su https://developers.google.com/youtube/player_parameters .)


Appena spuntato, ho scelto il player HTML5 in youtube.com/html5 , ma se & html5 = 1 non è specificato come parametro per il player embed, viene caricato flash, quando specifico il parametro HTML5 player viene caricato. Sistema operativo: Linux, Firefox 33 64 bit.
Zar

Ho appena provato html5=1in Firefox 33.0.2 e funziona bene (e non richiede che gli utenti abilitino l'impostazione HTML5 su YouTube). Senza di essa, YouTube invia la versione Flash per impostazione predefinita.
Simon East

Il parametro funziona ancora, ma abilitarlo sulla pagina html5 rende YouTube predefinito su html5, che è meglio.
alanh

4

Ho provato a utilizzare il codice di incorporamento iframe e il player HTML5 è apparso, tuttavia, per qualche motivo l'iframe stava completamente danneggiando il mio sito.

Ho giocato con il vecchio codice di incorporamento dell'oggetto e funziona perfettamente. Quindi, se hai problemi con l'iframe, ecco il codice che ho usato:

<object width="640" height="360">
<param name="movie" value="http://www.youtube.com/embed/VIDEO_ID?html5=1&amp;rel=0&amp;hl=en_US&amp;version=3"/>
<param name="allowFullScreen" value="true"/>
<param name="allowscriptaccess" value="always"/>
<embed width="640" height="360" src="http://www.youtube.com/embed/VIDEO_ID?html5=1&amp;rel=0&amp;hl=en_US&amp;version=3" class="youtube-player" type="text/html" allowscriptaccess="always" allowfullscreen="true"/>
</object>

spero che questo sia utile per qualcuno


YouTube <object>è stato ritirato dalla fine di gennaio. Usa <iframe>invece.
Samuel Elh

<object>funziona ancora, infatti l'iframe lo contiene.
RozzA

2

Se stai usando l'iframe embed api, puoi inserire html5:1come uno degli playerVarsargomenti, in questo modo:

player = new YT.Player('player', {
    height: '390',
    width: '640',
    videoId: '<VIDEO ID>',
    playerVars: {
        html5: 1
    },
});

Funziona totalmente.


0

Il tag inline viene utilizzato per aggiungere un altro src di documento all'elemento html corrente.

Nel tuo caso un video di un youtube e dobbiamo specificare il tipo html (4 o 5) al browser esternamente al link

quindi aggiungi? html = 5 alla fine del link .. :)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.