2012-11-22 141 views
18

此代码适用片刻,但我认为链接更改,导致第二天找不到它?
在Firefox/Chrome/Opera下播放的视频...如何让视频标签永久播放此视频?Howto通过HTML5视频标签播放YouTube视频

<video width="480" height="270" controls="controls" style="color:green;"> 
    <source src="youtubelink" type="video/mp4"> 
    <source src="youtubelink" type="video/ogg"> 
    <source src="youtubelink" type="video/webm"> 
Your browser does not support the video tag. 
</video> 
+0

你尝试这个http://www.youtube.com/html5 – dmi3y

回答

22

在实际的视频标签中实际播放YouTube视频并没有真正可靠的方法。 YouTube不希望你这样做,这可能违反了他们的TOS。无论如何,该网址可能会定期更改,无论YT是否调整其基础设施,还是阻碍人们直接访问视频文件。

但是,如果您使用的是视频标签,则可以采取几个步骤来处理所有可以执行的操作。首先,您可以将“html5 = 1”提示添加到嵌入中,这会告诉YouTube使用html5视频而不是Flash(通常符合但不总是)。该视频将位于iframe中,但您可以将所有常用CSS技巧应用于该iframe - 不透明度,变换等。

如果您使用的是YouTube API,请将html5: 1添加到playerVars。如果你只是在做直iframe嵌入,将其添加到查询字符串是这样的: http://www.youtube.com/embed/okqEVeNqBhc?html5=1

现在,如果你想多走一步,Popcorn.js目前对YouTube的API一个漂亮的wrapper object那将制作一个YouTube(他们也有一个用于Vimeo)视频的行为与HTMLVideoElement类似,具有大部分相同的属性,方法和事件。这并不完美,但它非常好。

注意:该文件的官方消息是mozilla/popcorn-js回购,但this one目前提前提供错误修复和功能。您需要包含该回购的最新版本的Popcorn.js和wrappers/common/popcorn._MediaElementProto.js。确保在设置src时将&html5=1添加到YT URL。

你会注意到的区别是:即使有包装

  • ,HTML5视频API只执行一点点比YT API更好。例如更灵敏和更好的缓冲报告。

  • 您无法摆脱在暂停或鼠标悬停时显示的右下角的YouTube图标。

  • 您不能阻止YouTube展示广告。

  • 您无法访问Audio API和canvas/webgl绘图等实际视频/音频内容。但是由于交叉来源的限制,你无法做到这一点。

+4

呀您选择正确的,它是对服务的TOS的期限,见developers.google.com/youtube/terms,在第二部分,点10.该条规定禁止“以任何方式使用YouTube播放器或YouTube明确授权的其他视频播放器访问任何YouTube视听内容;” –