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

max*_*max 7 mp4 preloading html5-video video.js

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

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

当视频很长时,访问者必须等待很长时间才能看到视频正常工作.

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

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

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

谢谢

马克斯

dan*_*4er 11

那是因为mp4文件的moov原子在文件的末尾,玩家需要在开始播放之前知道moov原子,你可以用MP4Box轻松地将moov原子移动到文件的开头,有一个gui适用于Windows的版本.

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

这需要几秒钟.

更多信息:Adobe 在这里对moov原子的解释

  • 要添加到这个答案,如果你在Linux上并且没有安装MP4Box,你也可以使用ffmpeg附带的'qt-faststart'来做到这一点我相信 (2认同)