Cinder Frame Graph: framework for working with video and HAP


In response to a few requests, I’ve finally taken the time to clean up Cinder Frame Graph and build in support for HAP video playback through libglvideo. This is now the recommended way of using libglvideo with Cinder, even if using it directly isn’t that hard either (ask in the comments if you’re interested).

Frame Graph facilitates video processing using a node-based dataflow design inspired by Cinder’s audio API. Out of the box, it comes with support for processing any texture/FBO object, easy shader processing with live
reloading, some basic color grading, and color look-up tables. You can optionally enable cross-platform 64-bit support for HAPQ and MJPEG playback by enabling ENABLE_FRAMEGRAPH_LIBGLVIDEO in CMake. It is regularly tested on MacOS, Windows, and Linux.

I’m using this on a number of production installations right now, including Jim Campbell’s Day For Night. Day For Night extends Frame Graph with custom OpenCV nodes that allow easily reconfigurable video analysis and processing capabilities in a command-line environment.

To get started, I recommend starting with the README and then taking a look at the basic color grading example project, which includes support for HAP.

Caveat emptor: I’m an independent artist developing this primarily for my own projects, and sometimes for client collaborations. Therefore, it’s a little rough around the edges, and only supports things I’ve needed on those projects. If you want to see new features, send a pull request or consider hiring me to add it and/or collaborate on your project.

HAPQ alpha support