How to encode HAP files for WATCHOUT playback

The recommendations below are particularly important to read and follow if you are running WATCHOUT version 6.6 or 6.6.1

There are five different flavors of HAP to choose from when encoding your videos.
Three of them are supported by WATCHOUT:

  • HAP - has the lowest data-rate and reasonable image quality.
  • HAP Q - has improved image quality, at the expense of larger file sizes.
  • HAP Alpha - has the same image quality as HAP, and supports an Alpha channel.
  • HAP Q Alpha - not supported by WATCHOUT
  • HAP Alpha-Only – not supported by WATCHOUT

To playback correctly in WATCHOUT, HAP codec (in all flavors) requires the width and height to be an even multiple of 4 (e.g.: 800 x 600, 1920 x 1080, 2000 x 2000). And the supported color depths are 24 and 32.

Some encoders allow for encoding with an optional specified 'chunk' size to optimize for ultra high resolution (UHD) video on a particular hardware system. This setting should typically only be used if you are reaching a CPU performance bottleneck during playback. As a general rule of thumb;
For HD footage or smaller you can set the chunk size to 1.
For 4k or larger footage, the number of chunks should never exceed the number of CPU cores on your display computer/the computer used for playback.

For encoding to HAP from Adobe AfterEffects, first export to an intermediate format and use one of the below solutions:

  1. HAP QuickTime component
    https://github.com/Vidvox/hap-qt-codec/releases
  2. AfterCodecs
    https://aescripts.com/aftercodecs/
  3. FFMPEG
    https://www.ffmpeg.org

FFMPEG:

For HAP movies, use the command:
ffmpeg -i SourceFile.mov -c:v hap OutputFile.mov

For HAP Alpha movies use the command:
ffmpeg -i SourceFile.mov -c:v hap -format hap_alpha OutputFile.mov

For HAP Q movies use the command:
ffmpeg -i SourceFile.mov -c:v hap -format hap_q OutputFile.mov

In addition, you can also specify the following optional flags that can be used to create HAP movies that are highly optimized for specific playback hardware.

-chunks N (default is 1; N is a number from 1-64 that does not exceed the number of CPU cores in the playback system)

ffmpeg -i SourceFile.mov -c:v hap -format hap_q -chunks 4 OutputFile.mov
-compressor snappy or -compressor none (default is snappy; when set to none may marginally reduce CPU usage in exchange for much larger file sizes that are a fixed bit-rate)

ffmpeg -i SourceFile.mov -c:v hap -compressor none OutputFile.mov

More tips on how to use ffmpeg switches (not necessarily related to HAP)
http://hamelot.io/visualization/using-ffmpeg-to-convert-a-set-of-images-into-a-video/

 

Last Updated: April 3, 2020