Documentation

Media Preloading

Introduction

One way to achieve faster start-up time for your content is to enable media preloading in our player. This means that the player will start fetching content as soon as page loads (or init method is called on player without the need for a user interaction).

By default the player uses a smart preloading feature that enables preloading when available bandwidth and devices resources allow it. Media preloading can also be tuned with preload setting.

Media preloading player settings

preload: String

Radiant Media Player supports the HTML5 media preload attribute for MP4/WebM progressive download, HLS and MPEG-DASH. Accepted values are 'smart', 'none', 'metadata' and 'auto'. Default: 'smart'.

  • 'smart': this is default and lets the player decide based on device capabilities and network conditions what is the best preload configuration.
  • 'none': means no media preloading happens. Media loading starts upon a valid user interaction.
  • 'metadata': means only a restricted chunk of content will be preloaded, generally to acquire information like duration, codec information and such.
  • 'auto': means media content will be preloaded as much as possible until the player buffer is full.

Media preloading on mobile devices

Media preloading is widely available on desktop browsers - for mobile devices however media preloading requires the following environments:

  • iOS 13.2+ Safari
  • Chrome 64+ for Android 5+
  • Samsung Internet 12+ for Android 5+

Media preloading support notes

Media preloading may not always be welcomed by an OS/device. For example on Chrome for Android media preloading is disabled by the OS when viewer is on a cellular network. Radiant Media Player enforces the following rules in order to follow best practices with media preloading:

  • When a mobile device is on cellular network and preload is set to 'smart', preload is forced to 'none'
  • When autoplay is requested preload setting is always set to 'auto'
  • When using Apple FairPlay streaming preload setting is always set to 'auto'
  • When using media preloading with Shaka Player (MPEG-DASH or HLS with hlsEngine setting set to 'shakaplayer') or hls.js only the 'auto' and 'none' values are available. preload setting set to 'metadata' will behave like 'auto' value

Start-up time verification

Radiant Media Player analytics API exposes a getStartUpTime method which can be used to track your average player start-up time for a given set up and content. This can be useful to best determine what preloading strategy works for you.

Player code example

<script src="https://cdn.radiantmediatechs.com/rmp/9.15.19/js/rmp.min.js"></script>
<div id="rmp"></div>
<script>
  const src = {
    hls: 'https://your-hls-url.m3u8'
  };
  const settings = {
    licenseKey: 'your-license-key',
    src: src,
    width: 640,
    height: 360,
    // Here we can tune preloading - 'smart' is default
    preload: 'smart',
    contentMetadata: {
      poster: [
        'https://your-poster-url.jpg'
      ]
    }
  };
  const rmp = new RadiantMP('rmp');
  rmp.init(settings);
</script>
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 3.0 License.

©2015-2024 Radiant Media Player. All Rights Reserved.