1

在 iOS 上,我认为是 Safari,我们有 Apple 的 HTTP Live 流,它可以获取特定格式的视频文件的播放列表,一个一个地缓冲它们,然后无缝地背靠背播放。

有没有办法在其他浏览器中实现这一点?我当然可以检测到视频结束,然后开始缓冲并播放下一个,但我想通过在每个较早的视频结束时下载后续视频来消除缓冲。我不想通过堆叠视频元素并在它们之间切换来破解它。这种方法有各种严重的后果。

也许如果有一种方法可以使用 javascript 将文件下载到内存缓冲区并以某种方式将视频元素指向从这些缓冲区播放?

4

2 回答 2

1

我已经看到为每个尝试的片段交换视频元素,而且它从来都不是流畅的。

作品中有一个 HTML 规范准确定义了您所描述的过程,将媒体段连接到可以馈送到媒体元素的缓冲区中。 http://dvcs.w3.org/hg/html-media/raw-file/tip/media-source/media-source.html

这在今天的浏览器中不可用,但正在进入 Chrome/Safari。即使是这样,实施这个过程也需要大量的工作。

如果您现在需要它,最好的选择是使用可以处理 HLS 的 Flash 播放器,例如 OSMF、JWplayer 和很快的 Video.js。

于 2012-08-09T22:23:09.523 回答
0

在 html5 中,您可以预加载视频、预加载元信息或根本不预加载。当然,唯一的问题是 Internet Explorer,它会下载所有内容或什么都不下载(甚至不显示控件)。

这也可以用 javascript 控制。但是,如果您想自动连续播放它们,则需要使用 javascript 或某些第三方工具来完成。可以通过 API 读取文件正在播放的位置。

于 2012-08-09T18:11:00.887 回答