为什么webkit浏览器在播放之前需要下载整个html5视频(mp4)?
从Chrome/Safari(最新版本和Chrome Canary)开始播放HTML5视频需要一段时间。在播放开始之前,似乎需要下载整个视频文件 在Firefox18.0.2(HTML5)和IE 8,9,10(Flash)中,播放几乎是即时的 在Chrome中,我看到了使用时出现的问题:为什么webkit浏览器在播放之前需要下载整个html5视频(mp4)?,html,google-chrome,html5-video,Html,Google Chrome,Html5 Video,从Chrome/Safari(最新版本和Chrome Canary)开始播放HTML5视频需要一段时间。在播放开始之前,似乎需要下载整个视频文件 在Firefox18.0.2(HTML5)和IE 8,9,10(Flash)中,播放几乎是即时的 在Chrome中,我看到了使用时出现的问题: chrome本地播放器 VideoJS MediaElementJS 我发现,即使在Chrome中打开本地mp4(h264)文件也需要相当长的时间才能加载:开发者网络工具显示视频正在加载/挂起,对于一个大文
- chrome本地播放器
- VideoJS
- MediaElementJS
- Webkit是否支持渐进式下载/播放
- 如果没有,是否有已知的解决方法
谢谢问题既不是编解码器也不是浏览器 问题在于视频文件中的元块强> 大多数浏览器只能在下载元数据后播放视频。一些编码工具将此元块放在输出文件的末尾,因此浏览器必须加载整个文件才能“查看”元数据 解决方案: 得到这个小工具,打开你的视频,让元数据移动器发挥它的魔力
不需要那么长时间,您的文件就可以流式传输了 正如Foaster所说,元数据块需要在视频的早期,这样视频就不必加载到它(如果它放在最后,可能需要加载整个视频) 但移动元数据块不需要产品网站上的一些黑盒
.exe
文件。以下是如何使用好的旧电脑:
这将:
-i input.mp4
:将input.mp4
作为输入-编解码器复制
:按原样复制流(无编码/解码步骤)-movflags faststart
:将元数据块移动到起始位置-f mp4 output.mp4
:格式化为mp4文件,并以名称output.mp4
输出链接到完整的
ffmpeg
文档。各种平台的安装说明(对于Mac用户来说,一个简单的brew安装ffmpeg
就足够了)。您应该确保视频文件是用H.264编码的。只有这样,视频才会在完全加载之前开始播放。如果您的视频编码为例如MPEG-4,则可能会导致加载问题。我建议您查看此链接:解决方案是指向.exe
的非现场链接,因此:1)有一天可能会由于链接损坏而丢失;2) 只能在Windows上工作;3)是一个完整的黑匣子。下面是一个简单的、独立于操作系统的、开源的移动元数据块的方法。@JamieBirch:1)你的解决方案有更多的外部链接2)很好的一点没有想到3)只是没有。。。链接页面非常清楚地说明了它的功能和工作方式。。。但是,最终ffmpeg是更好的解决方案。对于不了解终端的人来说,这既不是最简单的,也不是最快的;)非常简单的解决方案。尝试了元数据移动器。使用手刹视频转换器,效果非常神奇+1.
ffmpeg \
-i input.mp4 \
-codec copy \
-movflags faststart \
-f mp4 output.mp4