1

我有以下 HTML5 视频标签:

<video id="vid"  controls="controls" preload="metadata">
    <source src="/testvid.m4v" type="video/mp4" />
    Your browser does not support the video tag.
</video>

单击视频后,Safari 会立即开始下载整个视频文件,并且不会停止,直到下载完为止。视频文件为 400 MB,因此这是一个带宽成本问题。

文件中索引的位置似乎没有问题,因为http://renaun.com/blog/code/qtindexswapper/上的应用程序说索引已经在开头,并且开头即使其余的仍在下载,视频也可以立即播放。

源文件位于 Amazon S3 中,因此服务器支持范围请求。

有什么我可以做的吗?理想情况下,我想要某种合理的缓冲区,例如播放头前 20 MB 的内容,或 1 分钟,或类似的东西。

4

2 回答 2

1

正常行为是在页面加载时下载一小部分视频(刚好够浏览器显示帧并获取文件头)。播放视频时,会在播放时下载整个视频。

在某些旧版本的浏览器中,如果您使用搜索栏,视频会再次下载。

没有可用于更改此行为的设置或属性。

来源: http: //www.stevefenton.co.uk/Content/Blog/Date/201106/Blog/HTML-5-Video-In-Real-Life/

于 2012-04-27T15:09:07.663 回答
0

我同意索尼的观点。要降低带宽,您有两种选择:

将您的视频压缩到较低质量,或者您的视频大小/比特率是多少( fe h264 和 427x240 800kbps 我最终得到大约 5-6mb/分钟)

考虑一个播放列表(猜猜 southpark.de 就是这样做的),将你的电影分成几个部分,如果视频结束,将下一个加载到播放器中。缺点:如果您使用自定义控件,它们只会显示当前视频的信息,而不是整个视频(如果您使用特殊魔法构建自定义控件可以解决)。

不知道它是否有帮助,但在这种情况下,这将是我的两个解决方案。最佳 K

于 2012-05-02T15:15:08.633 回答