如何使用新的YouTube iframe样式代码嵌入高品质视频

时间:2011-02-15 08:28:19

标签: html youtube embed youtube-api

我正在使用youtubes新的iframe代码来嵌入视频,但视频质量低于我在youtube上观看时的质量。有没有办法嵌入高质量的视频?

目前我的代码是

<iframe title="YouTube video player" width="650" height="390" src="http://www.youtube.com/embed/6X3zUh8RqbY" frameborder="0" allowfullscreen></iframe>

6 个答案:

答案 0 :(得分:32)

&amp; vq = hd720或&amp; vq = hd1080做了其他所有失败的伎俩

答案 1 :(得分:5)

以下代码为我做了诀窍:

<iframe width="241" height="136" src="https://www.youtube.com/embed/NMG0CMkuUnA?version=3&vq=hd720" frameborder="0" allowfullscreen></iframe>

答案 2 :(得分:2)

此外,无论是否设置了HD参数,YouTube现在似乎都会自动提供其认为针对iframe和AS3的嵌入大小进行优化的质量。

有关详细信息,请参阅this postthis

更新:有关允许明确强制质量类型的好方法,请参阅Jason Renaud's answer。我尝试使用HTML5嵌入式播放器,它按预期工作。

答案 3 :(得分:2)

尝试使用此特定质量的视频..

144p:&amp; vq = tiny

240p:&amp; vq = small

360p:&amp; vq = medium

480p:&amp; vq = large

720p:&amp; vq = hd720

示例:

<iframe width="320" height="350" src="http://www.youtube.com/embed/
HeQ39bLsoTI?autoplay=1&cc_load_policy=1&vq=tiny" frameborder="0"
allowfullscreen></iframe>

答案 4 :(得分:1)

答案似乎随着时间而变化。 要查看正在发生的事情,似乎有两种普遍性来达到预期的效果。

1)您可以尝试'hack' iframe代码本身。

2)您可以尝试创建一个容器来欺骗iframe,使其认为它应该显示HD。

我们两个都做。

[特定的IFRAME代码] 您可以使用当前标准编辑典型的嵌入youtube iframe链接。我建议使用一个基本大小,无论如何都需要这个大小,然后继续第二步来调整大小。

查找当前列表,例如h3xed上的列表,以查看youtube在嵌入时调用文件的方式。

值得注意的是,我没有在任何地方找到以下代码,我发现了它。我需要调用720的视频。我正在寻找这个问题的答案,在查看文件时我注意到它说720p60是实际的YouTube设置。 所以我改变了以前似乎有用的东西,当然...... ...

<div class="responsive-container" >
   <iframe width="780" height="480"
           src="https://www.youtube.com/embed/DFzUdTUaAr4?rel=0&vq=hd720p60" frameborder="0" allowfullscreen></iframe>
</div>

的工作。 请注意,基本上我添加了?rel = 0&amp; vq = hd720p60 并使iframe大小足以要求高清。

[创建一个容器] 这是有效的,因为你要求youtube获得更高质量的视频,然后回到它后面并调整它以适应你想要的空间。虽然您直接询问如何嵌入,但我假设您要求随时随地嵌入 - 不限于页面上的巨型视频以获得高质量的文件。

一个简单的响应式容器运行良好,因为iframe是通过CSS控制的。使用类似于在新代码Force-Embedded-Youtube-Videos-To-Play-In-HD article上找到的代码,我们创建了一个将宽高比限制为有限大小的代码。

.responsive-container {
    position: relative;
    padding-bottom: 53.25%;
    padding-top: 30px;
    height: 0;
    overflow: hidden;
}
.responsive-container,
    .responsive-container iframe {
    max-width: 1280px;
    max-height: 720px;
}
.responsive-container iframe {
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
}

*值得注意的是:&fmt=35, &fmt=22, or &fmt=37的“遗留”代码此时适用于视频链接。 youtube视频以此特定质量打开。

另请注意,您还必须注意到YouTube视频和嵌入视频之间的tdl差异。它们(根据我的经验)不是交叉兼容的。 *(youtube.com/embeded ... VS youtu.be /...)

答案 5 :(得分:-10)

哦,我现在发现你必须将?vq=hd720放在网址的末尾,如下所示:

<iframe title="YouTube video player" width="650" height="390" src="http://www.youtube.com/embed/6X3zUh8RqbY?vq=hd720" frameborder="0" allowfullscreen></iframe>