强制HTML5 YouTube视频


119

关于YouTube API博客,他们正在试验新的HTML5视频播放器。

显然,要使用html5播放视频,您必须使用iframe嵌入代码:

<iframe class="youtube-player" type="text/html" width="640" height="385"
  src="http://www.youtube.com/embed/VIDEO_ID" frameborder="0">
</iframe>

但是,如果客户端尚未加入HTML5试用版,则即使客户端的浏览器支持HTML5视频,播放器也会自动退回到Flash播放器中。

如果用户尚未参与HTML5试用版,即使浏览器支持,如何强制HTML5视频播放呢?

否则如何禁用Flash回退?

编辑:

可以通过指向Youtube Video的链接来强制HTML播放器,但是嵌入式视频需要这种功能。


如果要使用js检测HTML5功能,并相应地实现youtube api代码,该怎么办。或者我应该说,如果不支持HTML5视频,请不要实现YouTube API,因为它会诉诸Flash。
David Hobs

Answers:


179

我找到了解决方案:

您必须html5=1在iframe的src属性中添加:

<iframe src="http://www.youtube.com/embed/dP15zlyra3c?html5=1"></iframe>

视频将显示为HTML5(如果可用),或回退到Flash Player。


1
嗯-现在不起作用(相同的视频),很奇怪。我想知道它是否仅适用于某些YouTube服务器?
UpTheCreek 2012年

1
添加&html5=1到非嵌入式视频的末尾时不起作用:/
Moshe Revah 2012年

1
在没有Flash的IE中,似乎无法在超链接(不是iframe嵌入式视频)的末尾添加&html5=1(或&html5=true类似的东西)。
瑞安

1
带有广告的YouTube视频将自动使用Flash播放器
2013年

8
我认为所有报告都是有偏见的。没有人说他/她是否在“ youtube的HTML5 beta”中,这可能是关键因素。当我离开html5测试版时,似乎?html5 = 1并没有执行任何操作。每个视频都带有闪光灯。
Paul Brewczynski 2013年

20

YouTube视频是否以HTML5格式播放取决于每个浏览器的https://www.youtube.com/html5上的设置。Chrome喜欢自动播放HTML5,但即使最新的Firefox和Internet Explorer仍安装在计算机上,仍会使用Flash。

参数html5 = 1现在不执行任何操作。(请注意,它甚至没有在https://developers.google.com/youtube/player_parameters上列出。)


刚刚选中,我已在youtube.com/html5中选择了HTML5播放器,但是如果未将&html5 = 1指定为嵌入播放器的参数,则在我加载HTML5播放器参数时会加载Flash。操作系统:Linux,Firefox 33 64bit。
沙皇2014年

我刚刚html5=1在Firefox 33.0.2中进行了测试,并且运行良好(不需要用户在YouTube上启用HTML5设置)。如果没有它,YouTube默认会发送Flash版本。
Simon East

该参数仍然有效,但是在html5页面上启用该参数会使youtube默认为html5,效果更好。
阿兰,2014年

4

我尝试使用iframe嵌入代码,但出现了HTML5播放器,由于某种原因,iframe完全破坏了我的网站。

我把旧的对象嵌入代码弄乱了,它工作得很好。因此,如果您在使用iframe时遇到问题,请使用以下代码:

<object width="640" height="360">
<param name="movie" value="http://www.youtube.com/embed/VIDEO_ID?html5=1&amp;rel=0&amp;hl=en_US&amp;version=3"/>
<param name="allowFullScreen" value="true"/>
<param name="allowscriptaccess" value="always"/>
<embed width="640" height="360" src="http://www.youtube.com/embed/VIDEO_ID?html5=1&amp;rel=0&amp;hl=en_US&amp;version=3" class="youtube-player" type="text/html" allowscriptaccess="always" allowfullscreen="true"/>
</object>

希望这对某人有用


YouTube上<object>弃用截至1月底。使用<iframe>代替。
塞缪尔·埃尔

<object>仍然有效,实际上iframe仅包含它。
RozzA

2

如果您使用的是iframe嵌入api,则可以将其html5:1作为playerVars参数之一,如下所示:

player = new YT.Player('player', {
    height: '390',
    width: '640',
    videoId: '<VIDEO ID>',
    playerVars: {
        html5: 1
    },
});

完全可以。


0

内联标签用于将文档的另一个src添加到当前html元素。

对于您的YouTube视频,我们需要在链接外部指定浏览器的html类型(4或5)

所以在链接末尾添加?html = 5 .. :)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.