How to add Prefetching

Prefetching positions target media content at the Edge in anticipation of requests by end users. This reduces the time to deliver that content.

Prefetching extracts data from the current request or response and determines the next object that should be requested. (For example, when a specific segment in a media clip is requested by a player, you can prefetch the next segment to the Edge to expedite its delivery.)

A high level flow of Prefetching

  1. The media player makes a request for {object-1}.
  2. AMD handles the request by forwarding it to your origin.
  3. You origin returns the requested object—{object-1}—back to AMD.
    • The origin response also includes headers to prefetch {object-2}. The value of this header is either an absolute URL path, or a relative URL path (relative to {object-1}).
  4. AMD returns {object-1} to player and this completes the request/response flow for {object-1}.
  5. Since the response from your origin also included prefetch response headers for {object-2}, AMD triggers prefetching.
    • AMD creates an HTTP/S request for {object-2} and forwards it to your origin. This is called a "prefetch request." AMD includes a preconfigured request header in it, that tells your origin that it's a prefetch request.
  6. Your origin returns {object-2} to AMD.
    • The origin response could include a response header to prefetch {object-3} to continue the prefetching process.
  7. AMD caches {object-2}.
    • AMD doesn't trigger prefetching for {object-3}. This is because {object-2} was already prefetched from your origin (and you don't want a never-ending recursive prefetch cycle).
  8. The player makes a request for {object-2}.
  9. AMD fetches {object-2} from it's cache and returns it in the response to the player.
    • If the origin response for {object-2} included prefetch response headers for {object-3}, AMD triggers prefetching of {object-3}, and the process can continue.

What's supported?

Streaming Formats
  • Apple HTTP Live Streaming (HLS)
  • Adobe HTTP Dynamic Streaming (HDS)
  • Dynamic Adaptive Streaming over HTTP (DASH)
  • Microsoft Smooth Streaming (MSS)
Live or Video on Demand (VoD) Both
Origin Server There may be limitations on use for certain Origin Types when setting up the Origin Server in your property:
  • Your Origin. No limitations
  • Media Services Live. Only HLS streaming format is supported.
  • NetStorage. Not supported.

See You need to support the origin-assist scheme and its related topics for complete details.

Add Segmented Media Streaming - Prefetch

You can add this behavior to your AMD property by performing the following:

  1. Create a new AMD configuration, or edit an existing one using Property Manager.
  2. In the Property Configuration Settings options, click Add Behavior.
  3. In the Search available behaviors field, input Segmented Media to filter the listed behaviors, and select Segmented Media Streaming - Prefetch from the list.
  4. The new behavior is added to your configuration. Set the Enable Origin-Assisted Prefetch switch to "On."