How to force 480p video quality for iframed Youtube videos?
Sample code:
<iframe width="560" height="315" src="http://www.youtube.com/embed/FqRgAs0SOpU" frameborder="0" allowfullscreen></iframe>
将以下参数附加到 Youtube-URL:
144p:&vq=小
240p:&vq=小
360p:&vq=中
480p:&vq=大
720p:&vq=hd720
例如:
src="http://www.youtube.com/watch?v=oDOXeO9fAg4"
变成:
src="http://www.youtube.com/watch?v=oDOXeO9fAg4&vq=large"
您还可以使用 1080 hd 值:
240p: &vq=小, 360p: &vq=中, 480p: &vq=大, 720p: &vq=hd720, &vq=hd1080
我发现截至 2012 年 5 月,如果您将帧大小设置为使最小像素区域(宽度•高度)高于某个阈值,它会将质量从 360p 提升到 480p,如果您的视频至少640 x 360。
我发现将嵌入帧的帧大小设置为780 x 480 会触发 480p 质量,而不会扭曲视频(放大)。640 x 585也以这种方式工作。我也使用了该&hd=1
参数,但如果您的视频不是以高清(720p 或更高)上传,我怀疑这有很大的控制力。
例如:
<iframe width="780" height="480" src="http://www.youtube.com/embed/[VIDEO-ID]?rel=0&fs=1&showinfo=0&autohide=1&hd=1"></iframe>
当然,缺点是通过设置这些静态框架尺寸,您很可能会在侧面或上方和下方看到黑条,具体取决于您的喜好。
如果您不关心控件被截断,您可以继续使用 CSS 并overflow: hidden
从框架中裁剪黑条,前提是您知道视频的确切尺寸。
希望这会有所帮助,并希望 Embed 方法有一天能再次获得离散的质量参数!
您可以使用YouTube JavaScript 播放器 API,它本身具有设置播放质量的功能。
player.setPlaybackQuality(suggestedQuality:String):Void
此功能为当前视频设置建议的视频质量。该功能使视频以新质量重新加载到其当前位置。如果播放质量确实发生了变化,它只会随着正在播放的视频而变化。调用此函数并不能保证播放质量会真正改变。但是,如果播放质量确实发生了变化,onPlaybackQualityChange 事件将触发,并且您的代码应该响应该事件,而不是它调用 setPlaybackQuality 函数的事实。[资源]
您可以使用该fmt=
参数并根据下表填写值:
http://en.wikipedia.org/wiki/YouTube#Quality_and_codecs
例如:您的网址将变为:
http://www.youtube.com/embed/FqRgAs0SOpU?fmt=35