Forcer la vidéo YouTube HTML5

119

En ce qui concerne le blog de l'API Youtube, ils expérimentent leur nouveau lecteur vidéo HTML5 .

Apparemment, pour lire une vidéo en html5, vous devez utiliser le code d'intégration iframe:

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

Mais si le client n'a pas rejoint l' essai HTML5 , le lecteur se repliera automatiquement dans le lecteur flash même si le navigateur du client est compatible avec la vidéo HTML5.

Comment forcer la lecture vidéo HTML5 si le navigateur la prend en charge, même si les utilisateurs ne sont pas encore impliqués dans l'essai HTML5?

Sinon, comment désactiver le repli flash?

ÉDITER:

Il est possible de forcer le lecteur HTML via des liens vers Youtube Video , mais j'ai besoin de ce type de fonctionnalité pour les vidéos intégrées.

Kami
la source
Et si vous détectiez la capacité HTML5 avec js et implémentiez le code API YouTube en conséquence. Ou je devrais dire que si la vidéo HTML5 n'est pas prise en charge, n'implémentez pas l'API YouTube car elle aurait recours à Flash.
David Hobs

Réponses:

179

J'ai trouvé la solution:

Vous devez ajouter l' html5=1attribut src de l'iframe:

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

La vidéo sera affichée au format HTML5 si disponible, ou sera replacée dans Flash Player.

Kami
la source
1
hmm - maintenant ça ne marche pas (mêmes vidéos), bizarre. Je me demande si cela ne fonctionne que sur certains serveurs youtube?
UpTheCreek
1
Ne fonctionne pas lors de l'ajout &html5=1à la fin d'une vidéo non intégrée: /
Moshe Revah
1
L'ajout &html5=1(ou &html5=truequelque chose comme ça) à la fin d'un lien hypertexte (pas de vidéo intégrée iframe) ne semble pas fonctionner dans IE sans Flash.
Ryan
1
Les vidéos YouTube avec des publicités utiliseront automatiquement le lecteur Flash
tourner le
8
Je pense que tous les rapports sont biaisés. Personne n'a dit s'il était en "bêta html5 de youtube" et c'est probablement un facteur clé. Quand je quitte la version bêta html5, il semble que? Html5 = 1 ne fait rien. Chaque vidéo est accompagnée du flash.
Paul Brewczynski
20

La lecture ou non des vidéos YouTube au format HTML5 dépend du paramètre sur https://www.youtube.com/html5 , par navigateur. Chrome préfère la lecture automatique de HTML5, mais même les derniers Firefox et Internet Explorer utilisent toujours Flash s'il est installé sur la machine.

Le paramètre html5 = 1 ne fait (plus) rien maintenant. (Notez qu'il n'est même pas répertorié sur https://developers.google.com/youtube/player_parameters .)

Vacilando
la source
Je viens de vérifier, j'ai choisi le lecteur HTML5 dans youtube.com/html5 , mais si & html5 = 1 n'est pas spécifié comme paramètre du lecteur intégré, le flash est chargé, lorsque je spécifie le paramètre HTML5 player est chargé. Système d'exploitation: Linux, Firefox 33 64 bits.
Czar
Je viens de tester html5=1dans Firefox 33.0.2 et cela fonctionne bien (et ne nécessite pas que les utilisateurs activent le paramètre HTML5 sur YouTube). Sans cela, YouTube envoie la version Flash par défaut.
Simon East
Le paramètre fonctionne toujours, mais l'activer sur la page html5 fait de YouTube par défaut html5, ce qui est mieux.
alanh
4

J'ai essayé d'utiliser le code d'intégration iframe et le lecteur HTML5 est apparu, cependant, pour une raison quelconque, l'iframe cassait complètement mon site.

J'ai dérangé l'ancien code d'intégration d'objet et cela fonctionne parfaitement. Donc, si vous rencontrez des problèmes avec l'iframe, voici le code que j'ai utilisé:

<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>

j'espère que c'est utile pour quelqu'un

Alejandro
la source
YouTube <object>est obsolète à partir de fin janvier. Utilisez <iframe>plutôt.
Samuel Elh
<object>fonctionne toujours, en fait l'iframe le contient.
RozzA
2

Si vous utilisez l'API d'intégration iframe, vous pouvez le mettre html5:1comme l'un des playerVarsarguments, comme ceci:

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

Fonctionne totalement.

Samson
la source
0

La balise en ligne est utilisée pour ajouter un autre src de document à l'élément html actuel.

Dans votre cas, une vidéo d'un youtube et nous devons spécifier le type html (4 ou 5) au navigateur en externe au lien

alors ajoutez? html = 5 à la fin du lien .. :)

ashwinrishipj
la source