【问题标题】:How to play HTML5 videos using Ruby Sinatra?如何使用 Ruby Sinatra 播放 HTML5 视频?
【发布时间】:2015-10-22 20:17:23
【问题描述】:

我正在建立自己的投资组合网站。我正在使用 Ruby Sinatra。我希望我的主页具有全屏视频背景。我用谷歌搜索,我没有发现任何关于我的情况。我花了几个小时试图让我的视频播放,但我已经失去了希望。我对任何可能有助于成功的解决方案持开放态度。谢谢!

HTML

<video width='512' height='288' id="splashvid" autoplay loop muted>
 <source src="https://www.dropbox.com/s/2vyfy2ma6xslbyk/sweeping_view.mp4" type="video/mp4">
 <source src="https://www.dropbox.com/s/svw8jyfx6a2k83n/sweeping_view.ogv" type="video/ogg">
 <source src="https://www.dropbox.com/s/r99qulve4g0y4kk/sweeping_view.webm" type="video/webm">
</video>

CSS

video#splashvid {
  background:url('https://www.dropbox.com/s/2vyfy2ma6xslbyk/sweeping_view.mp4') no-repeat;
-webkit-background-size:cover;
overflow: hidden;
}

【问题讨论】:

  • 这不是一个真正的 Sinatra 问题,更像是 HTML。查看源代码时是否看到了 HTML,样式表是否链接到它?
  • 另外,视频背景不是有效的 CSS(虽然如果是的话会很酷)
  • 顺便说一句:只有当 public_folder 和 views 的位置与 public & views 不同时,您才需要设置它们
  • 设置 public_folder 和视图是什么意思?我已经有了。
  • 刚刚开始工作!我将视频标签类型设置为 video/ogg 而不是 video/ogv。谢谢你的一切!

标签: html5-video


【解决方案1】:

首先我不确定这是否是个好主意,但你可以做到。

同域

所以您的第一个问题是您尝试从 Dropbox 加载视频。 根据我在 Firefox 和 Chrome 中的观察,它仅在视频源来自同一域时才有效。 (source)

为了实现这一点,我会在您的公共文件夹中创建一个名为 video 的文件夹,并像这样链接它们:&lt;source src="/video/sweeping_view.mp4" type="video/mp4"&gt;

修复自动循环

现在视频应该可以在大多数现代浏览器中播放。 该循环在我添加的 Firefox 和 Chrome 中可靠运行 preload="none" (source)

全屏

要获得全屏视频here 有一些想法。我用过

video {
    width: 100%    !important;
    height: auto   !important;
}

这种方法有效,但效果不佳。也许寻找一个js解决方案。

将html放在顶部

现在你可以将你的其他 html 元素放在它上面,像这样使用绝对定位:

h1 {
    position: absolute;
    top:50px;
    left: 30px;
}

结果

【讨论】:

  • 我已经尝试添加一个视频文件夹并且路径正确,但是当我加载页面时视频播放器一直消失。
  • 你的资源在网上吗?您使用哪种浏览器?
  • 他们在我的 Dropbox 帐户中,我使用 Google Chrome。
  • 你能分享一个链接吗?
  • 刚刚开始工作!我将视频标签类型设置为 video/ogg 而不是 video/ogv。感谢大家的帮助!
猜你喜欢
  • 2015-08-02
  • 1970-01-01
  • 1970-01-01
  • 2019-08-15
  • 2014-02-10
  • 1970-01-01
  • 1970-01-01
  • 2012-10-11
相关资源
最近更新 更多