Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This page covers how to use caching techniques to display HTML content. BrightSign players offer novel solutions through BrightAuthor and BrightScript, as well as support for common Node.js® and JavaScript caching solutions.

Storage and Memory

Before discussing HTML caching techniques, it is important to understand the storage and memory limitations of the players. All BrightSign players run HTML content on a Chromium engine. By default, Chromium reserves 1GB plus 10% of the total size of the player's storage device for memory. Players also have limited memory to run HTML graphics and JavaScript. This amount varies between player models; consult this list for more detail.

...

These limitations are shared across all roHtmlWidget instances, where roHtmlWidget is the BrightScript object that handles all HTML processes.

Caching Capabilities

BrightSign players offer a flexible toolset for caching HTML content. The sections below discuss novel BrightSign solutions and how to enable and use more common methods through Node.js and JavaScript.

BrightSign solutions

BrightSign players offer two HTML caching solutions:

  • Local Storage: The SD card for each player can store HTML content for playback. This method eliminates any connectivity or latency issues that may arise from networked solutions, but it must be done on a player by player basis. This can make local storage unattractive when dealing with a large fleet of devices.

  • The AssetPool BrightScript object: The AssetPool is a sharded hash directory and is recommended for large file count applications. The AssetPool is filled by AssetFetcher objects that can acquire content online and store it for later playback in either sha1, besha1, or MD5 hash protocols. Consult this page for more information about AssetPool.

Node.js and JavaScript solutions

BrightSign players also support Node.js and JavaScript caching techniques. To use Node.js:

...

Our HTML widget cannot cache videos listed in the AppCache manifest because of differences between the Chrome desktop and BrightSign device video playback architecture. Please use Service Worker and IndexedDB to cache content instead of AppCache, which is now deprecated.

Using Blobs

BrightSign video players can play blob URLs referring to items in IndexedDB and Html5 FileSystem API. However it cannot play blob URLs referring to JavaScript objects in memory.

...