Буферизация и кеширование видео в HTML5
Я пытаюсь буферизировать / кэшировать большие видеопотоки всякий раз, когда присутствует тег 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 или около того мегабайт по своему усмотрению.
Мне кажется, что я уже не на правильном пути, но также чувствую, что должен быть более элегантный подход, который примерно включает в себя то, что я делаю. Есть идеи? я спрашиваю о невозможном? Мысли и предложения будут высоко оценены! Спасибо!
А пока продолжу пробовать разные вещи и выложу здесь, если найду что-нибудь примечательное.