Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails应用程序中的HTML5视频无法完全观看_Ruby On Rails_Html_Video_Html5 Video - Fatal编程技术网

Ruby on rails Rails应用程序中的HTML5视频无法完全观看

Ruby on rails Rails应用程序中的HTML5视频无法完全观看,ruby-on-rails,html,video,html5-video,Ruby On Rails,Html,Video,Html5 Video,我有一个使用rails加载的HTML5视频,但只有14秒的视频是可观看的,然后视频停止,你不能在14秒后进入视频的任何部分,这只占视频的25% 这是我的index.html.erb <%= video_tag @video.filename + ".mp4", :size => "320x240", :controls => true %> 如果你点击HTML5视频控制面板上的下载按钮,它会下载视频,并且完全可以观看,因此不是文件导致了问题,而且我知道在我拥有的另一个基

我有一个使用rails加载的HTML5视频,但只有14秒的视频是可观看的,然后视频停止,你不能在14秒后进入视频的任何部分,这只占视频的25%

这是我的
index.html.erb

<%= video_tag @video.filename + ".mp4", :size => "320x240", :controls => true %>
如果你点击HTML5视频控制面板上的下载按钮,它会下载视频,并且完全可以观看,因此不是文件导致了问题,而且我知道在我拥有的另一个基于PHP的应用程序中,同样的视频在HTML5视频标签中工作得非常好,所以我很确定这个问题是由rails引起的,但我不知道怎么回事

此外,不确定这是否相关,但即使视频不会超过14秒(25%),指示视频已缓冲的暗条也会一直延伸到视频的75%左右

更新:我刚刚尝试了另一个视频,该视频至少是完全可观看的,但HTML5视频控件上的时间线仍然不起作用,你不能跳到视频的任何部分或返回到视频的任何部分,你只能按你应该的顺序观看视频并从头开始。rails不能正确处理HTML5视频吗

它是否与rails将标记呈现为
而不是仅仅
有关


更新2:我查看了源代码并在另一个窗口中打开了视频,浏览器使用HTML5播放器显示该窗口。我尝试了这两个视频,它修复了其中一个,但没有另一个。我提到的第一个视频仍然不可导航,并且在14秒后停止,但是第二个视频工作得非常好,可以导航。

您能分享这些视频吗?我冒昧地猜测,在编码中有一些错误导致了失败……您在多个浏览器中测试过吗?不同的浏览器对视频和音频编码的支持程度不同。您还可以使用
ffprobe
检查编码,这是
ffmpeg
工具集的一部分。最后一个选项,上传到YouTube,确保它工作,然后下载并尝试该文件。我相当确定它与编码无关,因为我使用了几种不同的MP4进行了尝试,所有MP4的编码都不同,没有一种工作正常。然而,在Mozilla中,视频在缓冲到之前是可导航的,但在chrome上,它们根本不起作用,有些视频只能播放到20秒左右。一个视频在不同视频之间的工作方式似乎完全没有一致性,但每个视频每次都播放相同的内容。然而,几乎没有一个像他们应该做的那样工作。我真的完全不知道该怎么办。由于角色限制,我不得不再做一次评论。这个问题似乎应该是简单的解决方法,或者至少是其他人遇到过的问题。我想我可能不得不使用HTML5视频播放器以外的东西,因为我根本无法让rails使用它。这个问题最终是因为rails不善于以一种允许视频文件正常播放的方式提供视频文件。将视频上传到其他地方,并通过url链接到它们,使它们都能正常工作。
def index
  @video = Video.last
end