【发布时间】:2015-12-07 22:36:27
【问题描述】:
我正在为我的 Web 应用程序使用 Rails 4,并且我正在使用 VideoJS 来显示它,例如:
<video id="video1" class="video-js" controls preload="auto" width="640" height="264" poster="{{pCtrl.video.poster}}" src="<%= @video.file %>">
<source src="<%= @video.file %>" type="video/<%= @video.file.file.filename.last(3) %>">
</video>
我总是从 VideoJS 收到这个错误:
VIDEOJS: ERROR: (CODE:3 MEDIA_ERR_DECODE) The video playback was aborted due to a corruption problem or because the video used features your browser did not support.
当我打开 Chrome 的开发工具时,我看到下载的视频(340Mb .mp4 文件)状态为 206(部分内容)并且只有 2.8 Mb。
我以为是VideoJS的问题,后来又尝试直接访问,比如“http://localhost:3000/uploads/video/file/glrbfmso1449450792.mp4”
视频会播放几秒钟,然后冻结,除非我刷新页面,否则它不会播放。我认为它只播放加载的 2.8 Mb。所以我认为这与WEBrick有关。
问题不在于视频文件,因为它在 VLC 和我使用 Glassfish(Java 编程)上正常播放。
那么,我的问题是:我应该在 Rails 或 WEBrick 中配置什么吗?有什么我应该编辑的设置吗?或者这是我正在经历的不寻常的事情?
【问题讨论】:
-
您是通过应用程序流式传输此视频还是由网络服务器处理?
-
什么意思?这就像一个YouTube。您加载一个带有“video”标签的 HTML 页面。我会更新我的问题
-
视频在哪里托管?
-
您可能不应该使用默认的 Rails 服务器(WEBrick?)来提供视频文件。在本地,安装薄之类的东西可能会有所帮助。在生产环境中,您将使用 nginx 或类似工具来提供静态资产。
-
我能否建议将此问题改写为“从 Rails 应用程序提供视频的最佳方式是什么?”。您可能会获得更多流量。
标签: ruby-on-rails ruby-on-rails-4 video video-streaming html5-video