Adaptive bitrate playback URL guidelines

Fastly's On-the-Fly Packaging (OTFP) service supports any directory structure you might use to store different quality levels of a video. To construct adaptive bitrate (ABR) playback URLs for a video, make directory paths to that video unique. Ensure all the files associated with a particular video (e.g., quality levels, subtitles) exist under a single directory.


If you aren't sure how to configure OTFP, contact support before making any changes.

For example, say you had a video called Example Video. Assuming you had multiple quality levels and associated files for Example Video, the following directory structure would provide the best start to constructing ABR playback URLs:

Directory path exampleDescription
/foo/bar/example-video/Base folder unique to this video
/foo/bar/example-video/480p_30fps.mp4Quality level 480p with 30 frames per sec with audio
/foo/bar/example-video/720p_30fps.mp4Quality level 720p with audio with 30 frames per sec with audio
/foo/bar/example-video/720p_60fps.mp4Quality level 720p with audio with 60 frames per sec with audio
/foo/bar/example-video/1080p_30fps.mp4Quality level 1080p with audio with 30 frames per sec with audio
/foo/bar/example-video/1080p_60fps.mp4Quality level 1080p with audio with 60 frames per sec with audio
/foo/bar/example-video/4k_30fps.mp4Quality level 4k with audio with 30 frames per sec with audio

With this directory structure, the ABR playback URL for all videos in the base directory would follow this template:<video_id>/<quality_file1_name_wo_ext>,<quality_file2_name_wo_ext>,...,<quality_fileN_name_wo_ext>/master.<f4m|m3u8|mpd>

For example, the ABR playback URLs for Example Video in every format would be:

FormatExample URL

You can reduce the duplication in ABR playback URLs separating out the repeated prefix and suffix info as follows:


and the template would change to one of the following:<video_id>/<filename_prefix><quality_file1_variable_name_wo_ext>,<quality_file2_variable_name_wo_ext>,...,<quality_fileN_variable_name_wo_ext>,<filename_suffix_wo_ext>/master.<f4m|m3u8|mpd><video_id>/<filename_prefix><quality_file1_variable_name_wo_ext>,<quality_file2_variable_name_wo_ext>,...,<quality_fileN_variable_name_wo_ext>/master.<f4m|m3u8|mpd><video_id>/<quality_file1_variable_name>,<quality_file2_variable_name>,...,<quality_fileN_variable_name>,<filename_suffix_wo_ext>/master.<f4m|m3u8|mpd>

To use token validation with ABR manifest URLs, special modifications must be made using custom VCL. Contact support for assistance.

Was this guide helpful?

Do not use this form to send sensitive information. If you need assistance, contact support. This form is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.