Offline HTML5 Video Example. Video courtesy of Big Buck Bunny.

This example uses Webpack & Webpack Offline Plugin which uses Service Worker and Application Cache as a fallback.

The video is loaded via the (polyfilled) Fetch API as an Array Buffer because storing blobs in IndexedDB is not supported in iOS. Since we can't assign video sources to Array Buffers, we first convert it to blob.

This is intended to be a bare bones example. For more a (much) more advanced offline first example, take a look at Pokedex.org.