Converting movies to the Hap video codec

Hap is a new video codec for Mac OS X designed for video artists and VJs that performs image decompression on a computer's video card, substantially reducing the CPU usage necessary to play back a movie- this is useful in situations where CPU power is a limiting factor, such as when working with high resolution movies.

If you've already installed VDMX, the Hap QuickTime component is already available on your computer.

To confirm the Hap installation on your Mac, download some sample movies at 1080p or 480p to try in VDMX.


Converting movies into Hap.

Movies can be saved in the Hap format from the standard Quicktime export movie settings panel, which means you can both encode new files in the format as well as easily convert existing movies using a batch exporter.

The newest AV Batch Exporter for 10.10 and later can be downloaded here:

https://github.com/Vidvox/hap-in-avfoundation/releases/download/1.4/AVF.Batch.Converter.app.zip

(open source codebase here: https://github.com/Vidvox/hap-in-avfoundation/releases)

And the old VVBatchExporter utility for Mac OS X 10.6.8 or later can be downloaded here:

http://vidvox.net/download/VVBatchExporter_1.0.5.zip

You can also encode to Hap from the command line using FFMPEG: https://gist.github.com/dlublin/e4585b872dd136ae88b2aa51a6a89aac

There are four different flavor of Hap codecs:

  • Hap has the lowest data-rate and reasonable image quality.
  • Hap Alpha has similar image quality to Hap, and supports an Alpha channel.
  • Hap Q has improved image quality, at the expense of larger file sizes.
  • Hap Q Alpha has improved image quality and includes an Alpha channel.

 

Hap, Hap Alpha and Hap Q show up as codec options in the standard Mac Quicktime export panel.


When is it appropriate to use Hap?

When supported natively by a host application such as VDMX, Hap has a number of distinct advantages over other codecs commonly used for real-time video playback.

  • Very low CPU usage, even at high resolutions
  • Support for an optional alpha channel
  • Reduced data through-put to graphics hardware

Since Hap is heavily optimized for use in specific applications, if you're just getting started with working with video or aren't running into any performance problems with standard CPU based codecs, there's probably no rush to convert all of your files into the Hap codec-- the PhotoJPEG medium and 'Apple Intermediate Codec' are both excellent general use formats to try first.

For situations where a computer can't handle playing back movies because the CPU usage is too high, using Hap may make it possible to reduce the overhead of playback. Additionally, as most movie formats do not have support for an alpha channel, the Hap Alpha option can be a good alternative to using the Animation codec in its "Millions of Colors+" mode.

You can read more about about the benefits of using Hap in our blog post featuring side-by-side comparisons against other popular Mac VJ and real-time video codecs.

Lastly, it's important to note that you'll only benefit from using Hap if your video application natively supports it: if you aren't sure, check with its developers before transcoding your clips. If you want to see Hap supported in other QuickTime-based video apps, please ask its developers to check out Hap on GitHub, where we have simple sample code demonstrating its use.

 

​The free VVBatchExporter can be used to automate the conversion of movies into Hap and other Quicktime codecs.