在iOS上,我认为Safari,我们有苹果HTTP直播,它可以采用特定格式的视频文件播放列表,逐个缓冲它们,并且可以无缝地连续播放。
有没有办法在其他浏览器中实现这一点?我当然可以检测视频整理,然后开始缓冲并播放下一个视频,但我想通过在每个早期视频完成时下载后续视频来删除缓冲。我不想通过堆叠视频元素并在它们之间切换来破解它。这种方法会产生各种严重后果。
也许如果有办法使用javascript将文件下载到内存缓冲区并以某种方式指向视频元素从这些缓冲区播放?
答案 0 :(得分: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。
答案 1 :(得分:0)
在html5中,您可以预加载视频,预加载元信息,或者根本不预加载。当然,唯一的问题是Internet Explorer会下载所有内容或根本不下载(甚至不显示控件)。
这也可以用javascript控制。但是,如果你想自动背靠背地播放它们,则需要使用javascript或某些第三方工具来完成。可以通过API访问正在播放文件的位置。