Force Youtube嵌入高清(2016版)

Fab*_*ian 6 javascript embed youtube iframe

好吧,之前已经多次询问过 - 但是Youtube似乎每隔一天就会改变一下.我无法找到一种强制Youtube嵌入的方法,从一开始就开始播放高清源.切换到HD总是在5-10秒后发生.

不起作用的方法(不再):

  1. &hd=1参数添加到iframe src
  2. 添加&vd=hd720&vd=hd1080参数到iframe src.这里描述:强制youtube嵌入在720p开始
  3. 将iframe尺寸更改为width="1280" heigh="720"html嵌入代码,然后使用CSS将iframe缩小/向上缩放到父div.这里描述:http://thenewcode.com/717/Force-Embedded-YouTube-Videos-To-Play-In-HD在这里:如何强制youtube播放高清视频

唯一可行的方法是使用Youtube JavaScript API,如下所述:http: //biostall.com/the-100-guaranteed-method-to-get-youtube-iframe-embeds-playing-in-hd-by-默认/

// 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  
}  
Run Code Online (Sandbox Code Playgroud)
<div id="player"></div>  
Run Code Online (Sandbox Code Playgroud)

但是:我想使用简单的iframe嵌入,因为视频将通过wordpress oembed功能嵌入.

有没有办法player.setPlaybackQuality('hd1080');为简单的iframe嵌入运行该函数?

小智 0

据我了解,似乎有一个“VQ”参数,您可以将其附加到嵌入 iframe 的末尾并将hd720或设置hd1080为值。经过一些研究,YouTube 似乎曾经提供了“VQ”参数,然后又将其取消,在撰写本文时又回来了!简而言之,您的嵌入应该如下所示:

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

这是我在研究过程中发现的与此相关的文章:Found Here

我已经在一个页面上对此进行了简要测试,它似乎有效(目前)。希望这可以帮助!