Como abrir um vídeo do youtube em Full HD?
Antigamente, existiam alguns parâmetros que você passava na url do youtube para transformar a qualidade do vídeo:
No entanto, se você tentar usar esses parâmetros hoje:
https://www.youtube.com/watch?v=s7MHXDEdjS0&hd=1
Irá notar que o Youtube não respeita mais eles, eles foram depreciados.
https://developers.google.com/youtube/player_parameters#Deprecated_Parameters
Para podermos alterar a qualidade do vídeo, teremos que usar a API do Youtube.
Você pode obter informações da API aqui:
https://developers.google.com/youtube/js_api_reference
Aqui tem um demo de uso da API:
https://developers.google.com/youtube/youtube_player_demo
O embeded padrão de vídeo do youtube é o seguinte:
<iframe
width="420"
height="315"
src="https://www.youtube.com/embed/s7MHXDEdjS0"
frameborder="0"
allowfullscreen>
</iframe>
O código abaixo demonstra como carregar o vídeo utilizando o swfobject.js e chamar o método setPlaybackQuality() para alterar a qualidade do vídeo para HD 1080p.
Os parâmetros aceitos pelo método setPlaybackQuality são os seguintes:
Esse método sugere o tamanho para executar o vídeo.
Na url do vídeo são adicionados os parâmetros: enablejsapi=1&&version=3 para carregar a API do Youtube.
<html>
<head>
<title></title>
<style type="text/css">
body
{
background-color: #000000;
text-align: center;
color: white;
}
</style>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js"></script>
</head>
<body>
<br />
<div id="ytapiplayer">
You need Flash player 8+ and JavaScript enabled to view this video.
</div>
<script type="text/javascript">
/* ****************************************** */
//ATENÇÃO: Esse código não funciona se você abrir a página no browser de um arquivo local, precisa acessar o arquivo de algum servidor, por exemplo IIS
/* ****************************************** */
var videoID = 's7MHXDEdjS0'; // ---> ALTERAR PARA O ID DO SEU VIDEO
var params = { allowScriptAccess: "always" };
var atts = { id: "myytplayer" };
swfobject.embedSWF("https://www.youtube.com/v/" + videoID + "?enablejsapi=1&playerapiid=ytplayer&version=3",
"ytapiplayer", "1280", "720", "8", null, null, params, atts);
function onYouTubePlayerReady(playerId) {
var player = document.getElementById("myytplayer");
player.setPlaybackQuality('hd1080');
//player.playVideo();
}
</script>
</body>
</html>
A título de curiosidade:
Tem um plugin para Google Chrome (só funciona nesse navegador) que altera a qualidade padrão de todos os vídeos que você assiste no Youtube. É a extensão: Auto HD for Youtube e pode ser baixada aqui:
https://chrome.google.com/webstore/detail/empty-title/koiaokdomkpjdgniimnkhgbilbjgpeak
Se você tem uma boa conexão de internet, você pode utilizar esse plugin para sempre assistir os vídeos na qualidade máxima.