9

我正在使用 Video.js 在客户的网站上播放 MP4 格式的视频。该播放器使用 html5 视频和 Adob​​e Flash Player 作为后备。(就我而言,它似乎总是使用 Flash,所以我不知道本机 html5 播放器中是否也存在问题。)

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

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

现在的问题是,是浏览器、脚本(video.js)还是视频文件造成了这个问题。

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

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

谢谢

最大限度

4

4 回答 4

11

出现这种情况是因为 mp4 文件的 moov atom 在文件末尾,播放器在开始播放之前需要知道 moov atom,您可以使用 MP4Box 轻松地将 moov atom 移动到文件开头,有一个 gui适用于 Windows 的版本。

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

这需要几秒钟。

更多信息:Adobe在此处对 moov atom 的解释

于 2012-12-04T17:20:01.780 回答
4

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

我的问题与 moov atom 无关,因为我也尝试过,但没有任何效果。我什至删除了这个转换后的视频,它仍然可以使用 preload="none"。

鲨鱼

于 2013-01-12T13:58:41.903 回答
1

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

MP4Box -isma your-file.mp4

;)

于 2013-02-17T19:42:31.620 回答
0

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

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

于 2013-03-14T09:34:04.043 回答