0

我正在编写一个 Rails 3.2.6 应用程序,我想在其中显示实时流媒体 HTML5 视频以及点播视频。我正在使用 Evolv 软件创建实时 HTML5 视频片段,然后使用 AFP 将它们发送到运行最新版本 Lion Server 的 Mac Mini 服务器。创建一个播放列表,它将在其中播放 HTML5 视频片段。我的计划是在没有直播的时候播放之前录制的直播视频。

在其他网站(非 Rails)的视频标签中,我可以使用整个 url 路径访问播放列表。为了获得我的视频页面的格式,我在我的 Rails 应用程序中添加了以下视频标签。当我引用播放 HTML5 视频片段的播放列表时,视频片段按预期播放。

<video autobuffer="autobuffer" autoplay="autoplay" width="480" height="320"
controls="controls" src="http://www.mywebaddress.com/Live-Segments/playlist.m3u8"  
</video>

我想在我的 Rails 应用程序中复制这个逻辑。但是我不确定如何做到这一点。

我已阅读 3.2.6 API 信息,Rails 将在 /public/videos 中搜索视频。我在我的 public/videos 文件夹中创建了一个 live-segments(未大写)文件夹,其中包含相同的播放列表和 HTML5 视频片段,当我从其他网站引用播放列表时,这些片段可以正常播放。

我使用 HTML5 代码尝试了以下示例,但没有一个找到视频播放列表。它确实显示带有海报的视频播放器。

<video autobuffer="autobuffer" autoplay="autoplay" width="480" height="320"
controls="controls" src="public/videos/live-segments/playlist.m3u8"  
</video>

<video autobuffer="autobuffer" autoplay="autoplay" width="480" height="320"
controls="controls" src="live-segments/playlist.m3u8"  
</video>

我尝试了以下 Ruby 版本的视频标签。它根本什么都没有显示。

<% video_tag("live-segments/playlist.m3u8", :controls => true, :autobuffer => true, :autoplay => true, :size => "480x320") %>

<% video_tag("/public/videos/live-segments/playlist.m3u8", :controls => true, :autobuffer => true, :autoplay => true, :size => "480x320") %>

我希望有一个简单的解决方法。希望我不会尝试做 Rails 不支持的事情。我在网上找到的大多数帖子都没有回复。那些有回应的人与我试图完成的任务无关,因为我对在网站中包含视频(而不是使用 YouTube 小部件)知之甚少。

任何帮助将不胜感激。

4

1 回答 1

0

经过更多研究后,我能够让 html5 视频标签正常工作。我将代码更改为:

<video autobuffer="autobuffer" autoplay="autoplay" width="480" height="320" controls="controls" src="/videos/live-segments/playlist.m3u8"</video>

但是,我无法让 Ruby on Rails 视频标签正常工作。我使用了与原始问题中提到的相同的语法,但改为使用 /videos/live-segments/playlist.m3u8。我还是一无所获。连海报都没有出现。下面的标题现在是该部分的第一行。

此时我将使用 HTML5 视频标签。

于 2012-07-22T01:00:00.363 回答