每当出现 HTML5 标签时,我都会尝试缓冲/缓存大型视频流。我这样做的原因是能够逐帧“擦洗”(即来回移动播放头)视频,而不必每次都从服务器请求视频的各个部分(这样做会导致跳帧擦洗,还会对通过较慢连接观看的人产生负面影响)。值得一提的是,我正在尝试最终通过 Projekktor 呈现视频。到目前为止,我已经尝试过:
使用预加载但没有成功,即:
$("video").on("load", function() {
$("video").attr("preload", "auto");
});
我还尝试在源本身中指定视频数据,但是,对于大页面,这会导致性能问题(使 Javascript 引擎崩溃),例如(抛开 projekktor):
<video><source type="video/mp4"; src="base64,"/></video>
...
...
<script type="text/javascript">
...
var vidData = myLargVideo;
$("video").attr("src", "base64," + myLargeVideo);
...
</script>
我曾尝试使用缓存指令(即 Expires 和 Cache-Control)来操纵客户端浏览器,但没有实际效果,Chrome 仅自行决定缓存前 9 兆字节左右。
我觉得好像我不再走在正确的轨道上,但也觉得必须有一种更优雅的方法,大致涉及我正在做的事情。有任何想法吗?我在问不可能吗?想法和建议将不胜感激!谢谢!
同时将继续尝试各种事情,如果我发现任何值得注意的事情会在这里发布。