强制 Vimeo HTML5 视频嵌入

Posted

技术标签:

【中文标题】强制 Vimeo HTML5 视频嵌入【英文标题】:Force Vimeo HTML5 Video Embed 【发布时间】:2012-09-05 22:25:11 【问题描述】:

我正在尝试嵌入 Vimeo 视频并强制它默认使用 html5。

Here's a thread 关于做我想做的事情,但要使用 YouTube。

Here's another thread 谈论获取 Vimeo HTML5 cookie

Here's a discussion of the issue 在 Vimeo 的网站上。基本上,我会根据用户在我的网站上的偏好来做这件事,所以他们的担忧并不真正适用。

是否有人知道即使在 Flash 可用时也可以强制嵌入 HTML5 Vimeo 的解决方法或方法? (我知道 cookie 应该可以在 Safari 中使用,但我有很多 Chrome 用户。)

谢谢。

【问题讨论】:

Vimeo 已将其嵌入代码更改为在我测试时默认为 HTML5。它仍然在 Firefox 中回退到 Flash,但 Safari 和 Chrome 获得了应有的 HTML5。不再需要 hack! 【参考方案1】:

目前无法通过嵌入脚本强制 HTML5。 “万能播放器”会根据设备自动选择格式。

旧的嵌入提供了一种强制使用 Flash 的方法,但这是唯一的其他选择。

让我们期待未来的选择。

【讨论】:

Vimeo 最近似乎在我测试时将其嵌入代码更改为默认为 HTML5。它仍然在 Firefox 中回退到 Flash,但 Safari 和 Chrome 获得了应有的 HTML5。所以不再需要黑客了!【参考方案2】:

在带有 Flash 的浏览器上,播放器以 html5 模式加载,代码如下。沙箱阻止 iframe 访问任何插件,包括 flash。

<iframe sandbox="allow-same-origin allow-scripts allow-popups"
  id="foo"  
  allowfullscreen="" webkitallowfullscreen="" mozallowfullscreen="" 
  src="http://player.vimeo.com/video/28544156?api=1">
</iframe>

要允许 vimeo 按钮打开视频的 vimeo 网页,您需要“允许弹出窗口”权限。不需要播放视频。

编辑:添加完整示例

如果您只有一个黑色视图,则视频的大小可能为零,因为我将 iframe 设置为以 100% 的宽度填充父级,但如果父级缩小以适应,那么该大小仍然为零。这是一个带有 CSS 的整个网页,以使视频占据大部分页面。此外,-webkit-transform 将镜像视频,然后稍微旋转它。如果它在 Flash 中显示,则会产生黑屏,因为它根本无法处理旋转。从那以后,我发现这可能根本无法在 firefox 上运行,因为它本身不支持 vimeo 提供的所有 h.264,并且禁用插件将禁用使 h.264 在 firefox 上运行的任何插件。

<!DOCTYPE html>
<html>
  <head>
    <style>
div 
  display: inline-block;
  top: 0px;
  left: 0px;
  bottom: 0px;
  right: 0px;
  position: absolute;

iframe 
  -webkit-transform: scaleX(-1) rotate(2deg);

    </style>
  </head>
  <body>
    <div>
      <iframe sandbox="allow-same-origin allow-scripts allow-popups"
        id="foo"  
        allowfullscreen="" webkitallowfullscreen="" mozallowfullscreen="" 
        src="http://player.vimeo.com/video/28544156?api=1">
      </iframe>
    </div>
  </body>
</html>

【讨论】:

teknotus,从技术角度来看,这是一个有趣的解决方案。但是,上面发布的代码在测试中对我不起作用(此时):我没有嵌入视频,而是得到一个黑匣子。我正在使用 Chrome 30,但未启用扩展程序且允许所有弹出窗口。该配置对您有用吗? @nickv2002 我在刚刚测试的响应中添加了一个完整的 html 文件。希望有帮助。抱歉没早点回复,*** 中的消息通知有点太微妙了,一个多月都没看到。 在您发表我的评论和您的后续行动之间,每当我测试它时,Vimeo 似乎已将其 ebed 代码更改为默认为 HTML5。它仍然在 Firefox 中回退到 Flash,但 Safari 和 Chrome 获得了 HTML5。所以不再需要黑客了!

以上是关于强制 Vimeo HTML5 视频嵌入的主要内容,如果未能解决你的问题,请参考以下文章

Vimeo 视频 - HTML5 标记内的自动质量

如何强制 html5 嵌入视频完成播放?

Vimeo - 通过 javascript api 发送密码

将 vimeo 视频嵌入到 tinyMCE 编辑器中

嵌入具有正确纵横比的 Youtube/Vimeo 视频

Vimeo API - 我可以禁用嵌入式 Vimeo 视频的一些键盘快捷键而不是禁用所有快捷键吗?