Video.js中的MP4在完全加载之前无法播放

时间:2012-12-04 14:42:37

标签: html5-video mp4 preloading video.js

我正在使用Video.js在客户的网站上播放MP4格式的视频。 播放器使用html5视频和Adobe Flash Player作为后备。 (在我的情况下,似乎总是使用Flash,所以我不知道本机html5播放器中是否存在问题。)

视频仅在* .mp4文件完全加载后才开始播放。所以没有缓冲区几秒钟。在开始播放之前,浏览器必须完全下载该文件。

当视频很长时,访问者必须等待很长时间才能看到视频正在运行。

现在的问题是,是浏览器,脚本(video.js)还是创建该问题的视频文件。

在videojs.com网站上,视频在加载时播放,因此工作正常。因此我认为它不可能是浏览器。

还有其他人有这个问题吗?我该如何解决这个问题呢? 非常感谢任何建议!

由于

最高

4 个答案:

答案 0 :(得分:11)

发生这种情况是因为mp4文件的moov原子位于文件的末尾,播放器需要在开始播放前知道moov原子,你可以使用MP4Box轻松地将moov原子移动到文件的开头,那里是Windows的gui版本。

在Linux命令行中,您可以使用MP4Box -add my_video.mp4 my_newVideo.mp4移动MA。

这需要几秒钟。

更多信息:Adobe对moov原子的解释here

答案 1 :(得分:4)

你确定你的标签有preload =“none”,因为我遇到了同样的问题而且我有preload =“auto”。我把它改成“无”,它效果很好!!

我的问题与moov原子无关,因为我也尝试过它并没有任何影响。我甚至删除了这个转换后的视频,它仍然可以使用preload =“none”。

kjsharks

答案 2 :(得分:1)

我使用此命令添加元数据:

MP4Box -isma your-file.mp4

答案 3 :(得分:0)

引用http://docs.videojs.com/docs/guides/options.html

  

preload属性会在加载视频标记后立即通知浏览器视频数据是否应该开始下载。选项包括自动,元数据和无。