Rendering HAP

Video Encoding

All video content must be encoded with HAP or HAP-Q

Download: HAP (requires 32-bit Quicktime/Adobe CC 2017)

Download: HAP (beta, works on Adobe CC 2018+)

Learn: d3technologies HAP codec reference


  • Depth: Millions of Colors
  • Spacial Quality = 100


Increased overhead, less total file capacity than Hap, in exchange for better compression in gradients and subtle color changes.

  • Depth: Millions of Colors
  • Spacial Quality = 100

Hap Alpha

  • Use for alpha content only – significant negative impact to playback capacity
  • Depth: Millions of Colors +
  • Spacial Quality = 100

Embedded Audio

Disguise Audio Advisory
Audio clicking or popping and audio drifting out of sync with video under heavy load
  • For audio embedded in Quicktime .mov files:
  • Uncompressed
  • Stereo 16 bit
  • 44.1 KHz.  Currently d3 only supports 44.1 KHz, any other frequency will generate an error.
  • Please tag any files including sound with _audio


  • 30 fps (preferred)
  • 60fps is an option for clips that may need to be slowed down on-site
    • Use this sparingly; rendering and playing back at 60 slows down the entire pipeline if unnecessary.

If you notice banding across subtle gradient graphics, try adding a subtle noise pass to the final render (3% is usually sufficient).

Audio Encoding

For audio only deliverables – if you require synced audio and video, see Embeded Audio under the video section above

  • Stereo 16 bit
  • 44.1 KHz, constant bitrate. Currently d3 only supports 44.1 KHz, any other frequency will generate an error.
  • 256 Kb/sec is a recommended balance between quality and file size.
  • Stereo 16 bit
  • 44.1 KHz
  • Stereo 16 bit
  • 44.1 KHz.  Currently d3 only supports 44.1 KHz, any other frequency will generate an error.

Stills Encoding

All still content should be PNG-24 (we recommend using “Export for Web” or “Export for Screens” in Photoshop/Illustrator)

  • Transparency: yes
  • Interlace: no
  • No larger than 8000×8000

Movie files are preferable to still images where possible, so whenever possible, please render still images as 2 frame HAP-encoded .mov files. When a rendered .mov file is not an option a png will work. .png is most useful when alpha needs to be retained or gradients preserved in highest quality.

All assets delivered should be named using the following



  • description is a descriptor for the asset. Keep description constant across versions. 
  • _mapping defines which screen mapping to use for this content. Keep this constant across all versions.
  • _[otherTags] represents any other optional tag, and these should always be used before the version tag. Examples of other tags:
    •  _frame tags (see below)
    • _proxy tags (see below)
  • _v### is the version tag and should always be last!
    • v precedes the version info to identify it as a version tag.
    • ### is the incremental version identifier.
    • The version tag should always be the last tag in the filename
  • .ext is the file extension (i.e. .mov for videos or .png for stills)

Please use underscores _  in place of spaces and to separate the “tags” in the filename

Example: oneworld-purple-swirls_BMirror_[OtherTags]

Each unique asset must have a
unique and consistent file stem.

The File Stem = description_mapping

This must be unique and consistent for each asset. For example, the stem for a file named would be oneworld-somebuild_wallsr.

Frame Replacement

d3 offers the ability to replace only a portion of an existing file. Using the _frameXYZ tag will cause d3 to replace the current version of the file with this file, starting at frame XYZ. The replacement file will play out and when the file is complete, d3 will return to the previous file thereafter.

  • Frame replacements are indicated by adding the tag _frameXYZ to the video filename.
  • XYZ is the frame number
    • The frame number is the FIRST frame replaced, and is counted on a 0 base system. This means the first frame of the original file is considered frame 0, not frame 1.
    • It is possible to have multiple frame replacements for a single asset (though they must each have a different version).
    • REQUIRED: for a frame replacement to function properly it must have a version tag greater than the one being replaced. See above.
  • Example: to replace frames 130 through 175 of a piece of content called then the replacement file needs to be named (or greater). d3 will begin playing the original file and when it reaches frame 130, will switch to the replacement file. After frame 175 and the completion of the replacement, d3 will resume frame 176 and beyond from the original file.

Proxy Management

d3 allows for multiple resolution files of the same asset. These lower-resolution files are called “proxies” and are used for pre-programming and in the visualizer. They are never output from the server for presentation.

  • Proxy files are indicated by adding _proxyXYZ to the video filename.
    • XYZ is the number representing the resolution factor
      • Higher numbers indicate steps down in resolution (001 = ½ ,  002 = ¼ ,  003 = ⅛)
      • _proxyN = 2^-N (resolution)
  • Example: (½ resolution)
  • Example: (¼ resolution)
  • Example: (⅛ resolution)

Folder Structure

We will define a delivery folder structure closer to the date of the event, please stay tuned.