Может ли Android-кеш-видео HTML5 с отключением кэша?

У меня есть пример, который кешируется на хроме и отображает видео в автономном режиме.

Когда я попробую этот пример с планшетом Android 3.2 и 4.x, видео будет воспроизводиться только онлайн, но не в автономном режиме, хотя другие элементы, такие как HTML файл и фон, находятся в автономном режиме.

<!DOCTYPE html>
<html manifest="example.appcache">
    <head>
        <title>Hello Video!</title>
        <style>
        body{ background: url('background.jpg');}
        </style>
    </head>
    <body>
        <video width="855" height="480" controls="">
            <source src="railer.mp4"/>
        </video>
    </body>
</html>

И пример манифеста кэша example.appcache выглядит следующим образом:

CACHE MANIFEST

index.html
railer.mp4
background.jpg

NETWORK:
*

Кто-нибудь смог отключить кэширование в автономном режиме, работающее в браузерах Android через cache-manifest?

Ответ 1

Я попытался кэшировать видео (формат mp4), а также аудиофайлы (mp3-формат) на Android 4.1.2, используя его браузер по умолчанию, а также Chrome 27.0, но, как вы уже упоминали в своем посте, хотя они кэшировали эти элементы, не воспроизводит видео и аудио в автономном режиме.

Ответ 2

Проблема заключается в том, что максимальный размер AppCache не указан в HTML5 offline spec. Различные сообщения в Интернете показывают разные пределы квот для автономного хранилища.

В StackOverflow также существует множество вопросов относительно кеша max. размер файла:

Я думаю, что все, что можно с уверенностью сказать, заключается в том, что максимальная квота, используемая в значительной степени, зависит от браузера и платформы, а иногда и от свободного места.

Там доступен инструмент http://demo.agektmr.com/storage/ (найдено в этом статья), которая позволяет проверить максимальную квоту, используемую на вашем устройстве. Возможно, когда вы это проверите, вы обнаружите, что размер файла видео, который вы хотите кэшировать, слишком велик для вашего устройства.

TL; DR. Из упомянутых источников приводят меня к следующему ответу: (иногда) возможно хранить видео до ограниченного размера файла, в зависимости от браузера, платформы и рабочей среды. Но нет гарантии, что он будет кэшироваться должным образом (по крайней мере, если он не является достаточно маленьким).

Ответ 3

Я включил голые кости example (src) о том, как кэшировать видео в формате HTML5 для использования в автономном режиме при использовании кэша приложений или службы поддержки.

Чтобы сохранить видео для автономного использования

  • выберите видео в качестве буфера массива
  • хранить буфер массива в IndexedDb
  • преобразует буфер массива в blob
  • Назначить blob источнику видео
  • В автономном режиме возьмите видеоисточник из IndexedDB

Вы также можете захватить источник видео из IndexedDB в Интернете, если хотите.