Skip to main content
Skip table of contents

HAP Encoding

For optimal playback in Igloo Core Engine, use the HAP codec. The HAP format supports GPU-accelerated decoding and is ideal for large-format, high-resolution playback.

Most encoding tasks can be completed using the Igloo Encode tool, which provides an easy-to-use interface and presets for typical workflows. However, if you need more advanced control over chunking, compression, or specific HAP variants, you can also use ffmpeg directly.


FFmpeg Encoding Commands

Basic HAP Variants:

CODE
# HAP (good balance of quality and performance)
ffmpeg -i input.mov -c:v hap output_hap.mov

# HAP Q (higher quality, larger file size)
ffmpeg -i input.mov -c:v hap -format hap_q output_hap_q.mov

# HAP Alpha (includes alpha channel)
ffmpeg -i input.mov -c:v hap -format hap_alpha output_hap_alpha.mov

# HAP Q Alpha (quality + alpha)
ffmpeg -i input.mov -c:v hap -format hap_q_alpha output_hap_q_alpha.mov

Optional: Snappy Compression

Snappy compression reduces file size with minimal impact on decode performance. It's recommended unless you encounter playback issues.

CODE
# HAP with snappy compression
ffmpeg -i input.mov -c:v hap -compressor snappy output_hap_snappy.mov

Chunked Encoding

Chunking splits each frame for parallel CPU decoding — useful for high-res videos (8K+). Use -chunks to define the chunk count.

CODE
# HAP with 4 chunks (recommended for 8K and above)
ffmpeg -i input.mov -c:v hap -chunks 4 output_hap_chunked.mov

Options:

  • Use -chunks 4 or more for 8K+ depending on CPU core count.

  • Max is 64 chunks.


Best Practices

  • Resolution must be a multiple of 4 (e.g. 3840x2160).

  • For alpha support, use HAP Alpha / HAP Q Alpha.

  • Use .mov as container format.

  • Enable snappy compression unless targeting low-spec systems or optimising for extreme cases where maximum playback performance is needed for very high resolution and framerate videos

  • Playback must be tested on target system to tune performance, specifically when adjusting chunk count

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.