Introduction

Pixotope uses the Unreal Engine media framework for file-based video input.

Recommended video format

Recommended CodecRecommended Container
HAP.mov

H.264

.mp4

HAP Codecs for playback

Pixotope supports the playback of video files encoded using the HAP codec.

Please refer to UE4 documentation on setting up playback of HAP encoded videos: https://docs.unrealengine.com/en-US/Engine/MediaFramework/TechReference/index.html#hapcodecplaybacksupport

HAP is a set of video codecs that perform decompression using a computer's graphics hardware, substantially reducing the CPU usage necessary to play video. It has become the standard for high-performance, high-resolution movie playback on media servers, for live video performance and event visuals. It includes support for alpha channels.

There are four different flavors of HAP:

  • HAP has the lowest data rate and reasonable image quality
  • HAP Alpha has the same image quality as 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 an alpha channel, at the expense of larger file sizes

Learn more about using HAP here: https://hap.video/using-hap

Using FFmpeg to encode HAP video


For HAP movies use the following command:

ffmpeg -i yourSourceFile.mov -c:v hap outputName.mov
CODE


For HAP Alpha movies use the following command:

ffmpeg -i yourSourceFile.mov -c:v hap -format hap_alpha outputName.mov
CODE


For HAP Q movies use the following command:

ffmpeg -i yourSourceFile.mov -c:v hap -format hap_q outputName.mov
CODE


Encoding a set of images to HAP using FFmpeg


Export to HAP directly from a .tif sequence with alpha using FFmpeg:


ffmpeg -r 30 -f image2 -s 1920x1080 -i test%02d.tif -vcodec hap -format hap_alpha -pix_fmt rgba test.mov
CODE
  • -i is where you set the pattern for the image sequence naming (where "%02d" means that zeros will be padded until the length of the string is 2, i.e. 01…20…30… and so on. If no padding is needed, use pic%d.png or %d.png or similar)
  • -r is the frame rate (fps)
  • -s is the resolution
  • and the output filename is "test.mov"