Forçar vídeo do YouTube em HTML5


119

Em relação ao Blog da API do YouTube, eles estão experimentando seu novo player de vídeo HTML5 .

Aparentemente, para reproduzir um vídeo em html5, é necessário usar o código de incorporação iframe:

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

Porém, se o cliente não tiver participado da avaliação de HTML5 , o player voltará automaticamente ao flash player, mesmo que o navegador do cliente seja compatível com vídeo HTML5.

Como forçar a reprodução de vídeo HTML5 se o navegador suporta, mesmo que os usuários ainda não estejam envolvidos na avaliação do HTML5?

Caso contrário, como desativar o fallback do flash?

EDITAR:

É possível forçar o HTML player através de links para o Youtube Video , mas eu preciso desse tipo de recurso para vídeos incorporados.


E se você detectasse o recurso HTML5 com js e implemente o código API do YouTube de acordo. Ou devo dizer, se o vídeo HTML5 não for suportado, não implemente a API do YouTube, pois ela recorreria ao Flash.
precisa

Respostas:


179

Eu encontrei a solução:

Você deve adicionar o html5=1atributo src do iframe:

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

O vídeo será exibido como HTML5, se disponível, ou como substituto no flash player.


1
hmm - agora não está funcionando (mesmos vídeos), estranho. Gostaria de saber se ele funciona apenas em determinados servidores do youtube?
UpTheCreek 03/03

1
Não funciona quando adicionando &html5=1ao final de um vídeo não-incorporado: /
Moshe Revah

1
Adicionar &html5=1(ou &html5=truealgo assim) ao final de um hiperlink (não vídeo incorporado iframe) parece não funcionar no IE sem o Flash.
Ryan

1
Vídeos do YouTube com anúncios usará automaticamente o Flash player
turnt

8
Eu acho que todos os relatórios são tendenciosos. Ninguém disse se ele / ela está no "beta html5 do youtube" e este é provavelmente o principal fator. Quando deixo o html5 beta, parece que? Html5 = 1 não faz nada. Todo vídeo vai com flash.
Paul Brewczynski

20

A reprodução ou não dos vídeos do YouTube no formato HTML5 depende da configuração em https://www.youtube.com/html5 , por navegador. O Chrome prefere a reprodução HTML5 automaticamente, mas mesmo o Firefox e o Internet Explorer mais recentes ainda usam o Flash se estiver instalado na máquina.

O parâmetro html5 = 1 não faz mais nada (agora). Observe que nem mesmo está listado em https://developers.google.com/youtube/player_parameters .


Acabei de marcar, escolhi o player HTML5 em youtube.com/html5 , mas se & html5 = 1 não for especificado como um parâmetro para o player incorporado, o flash será carregado, quando eu especificar o parâmetro HTML5 player. SO: Linux, Firefox 33 de 64 bits.
Czar

Acabei de testar html5=1no Firefox 33.0.2 e funciona bem (e não requer que os usuários ativem a configuração HTML5 no YouTube). Sem ele, o YouTube envia a versão Flash por padrão.
Simon Médio

O parâmetro ainda funciona, mas ativá-lo na página html5 torna o youtube padrão para html5, o que é melhor.
Alanh

4

Tentei usar o código de incorporação do iframe e o player HTML5 apareceu, no entanto, por algum motivo, o iframe estava quebrando completamente meu site.

Eu brinquei com o código de incorporação de objetos antigos e ele funciona perfeitamente bem. Então, se você está tendo problemas com o iframe, aqui está o código que eu usei:

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

espero que isso seja útil para alguém


O YouTube <object>foi descontinuado no final de janeiro. Use em <iframe>vez disso.
Samuel Elh 15/08/2015

<object>ainda funciona, na verdade o iframe apenas o contém.
ROZZA

2

Se você estiver usando a iframe embed api, poderá colocar html5:1como um dos playerVarsargumentos, assim:

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

Totalmente funciona.


0

A tag embutida é usada para adicionar outro src do documento ao elemento html atual.

No seu caso, um vídeo de um youtube e precisamos especificar o tipo html (4 ou 5) para o navegador externamente para o link

então adicione? html = 5 ao final do link .. :)

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.