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:
# 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.
# 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.
# 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