2016-03-09 14 views
6

OK, questo è stato chiesto molte volte prima - ma Youtube sembra cambiare le cose ogni due giorni. Non riesco a trovare un modo per forzare un embed di Youtube per avviare la riproduzione di una sorgente HD dall'inizio. Il passaggio a HD avviene sempre dopo 5-10 secondi.Forza l'embed di YouTube per giocare in HD (edizione 2016)

I metodi che non funzionano (più):

  1. Aggiunta &hd=1 parametro al iframe src
  2. Aggiunta &vd=hd720 o &vd=hd1080 parametri alla src iframe. Descritto qui: Force youtube embed to start in 720p
  3. Modifica delle dimensioni dell'iframe su width="1280" heigh="720" nel codice di incorporamento html e quindi utilizzando CSS per ridimensionare l'iframe verso il basso/su verso il div padre. Descritto qui: http://thenewcode.com/717/Force-Embedded-YouTube-Videos-To-Play-In-HD e qui: How to force youtube to play HD videos

L'unico modo possibile sarebbe utilizzando l'API Youtube JavaScript, come descritto di seguito: http://biostall.com/the-100-guaranteed-method-to-get-youtube-iframe-embeds-playing-in-hd-by-default/

// 1. This code loads the IFrame Player API code asynchronously. 
 
var tag = document.createElement('script'); 
 
    
 
tag.src = "https://www.youtube.com/iframe_api"; 
 
var firstScriptTag = document.getElementsByTagName('script')[0]; 
 
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); 
 
    
 
// 2. This function creates an <iframe> (and YouTube player) after the API code downloads. 
 
var player; 
 
function onYouTubeIframeAPIReady() { 
 
    player = new YT.Player('player', { 
 
     height: '1280', 
 
     width: '720', 
 
     videoId: 'E37YNMYlKvo', 
 
     events: { 
 
      'onReady': onPlayerReady 
 
     } 
 
    }); 
 
} 
 
    
 
// 3. The API will call this function when the video player is ready. 
 
function onPlayerReady(event) { 
 
    player.setPlaybackQuality('hd1080'); // Here we set the quality (yay!) 
 
    event.target.playVideo(); // Optional. Means video autoplays 
 
}
<div id="player"></div>

Ma: io voglio usa un semplice iframe incorporato poiché i video saranno incorporati attraverso la funzione wordpress oembed.

Esiste un modo per eseguire la funzione player.setPlaybackQuality('hd1080'); per un semplice iframe incorporato?

risposta

0

Da quello che ho capito, sembra che ci sia un parametro'VQ' che è possibile allegare alla fine del iframe sovrastante e impostare hd720 o hd1080 come valore. Dopo alcune ricerche, YouTube ha offerto una volta il parametro "VQ", quindi lo ha portato via e al momento della stesura di questo articolo è tornato! In breve, la vostra embed dovrebbe apparire qualcosa di simile:

<iframe src="https://www.youtube.com/embed/VIDEO_ID_HERE?vq=hd1080" frameborder="0" allowfullscreen></iframe>

Ecco un articolo relativo a questo che ho trovato durante le mie ricerche: Found Here

Ho provato questo brevemente su una pagina ed è sembra funzionare (per ora). Spero che questo ti aiuti!

+1

Questo dos non sembra funzionare (più). Testato su Safari OSX ... –

1

È inoltre possibile impostare le playerVars

  vq: 'hd1080', 

144P: & VQ = piccolo

240p: & VQ = piccolo

360p: & VQ = medio

480p: & vq = large

720p: & VQ = HD720

1080p: & VQ = HD1080

Problemi correlati