
There is no limit to the number of layers that can be mixed. With FreeJ we can overlay, mask, transform and filter multiple layers on the screen. The code is fairly documented and usable in C++, with full bindings to python, while parsing scripts is done using Spidermonkey, the Mozilla interpreter.įreeJ has started being developed on a dual-core CPU already in 2001 and has grown with emphasis on multi-threading to run efficiently on modern multi-core computers. How FreeJ does itįreeJ is a commandline application on GNU/Linux, a graphical application on Apple/OSX, a C++ library offering an API for a multimedia framework that relies on different native functions on the operating systems it is ported and, at last, bindings to languages like Python and Ruby (using Swig, more can be implemented as needed. We control the video mixer locally or remotely, also from multiple places at the same time all functionalities are designed ad-hoc using javascript. We show the resulting video mix on multiple and remote screens, encode it into a movie and stream it live to the internet.

We want to write scripts to control video mixes with keyboards, midi signals, OSC messages, wiimotes, video mouse and joysticks manipulating images, movies, live cameras, particle generators, text scrollers, flash animations and more.

We need to interact with multiple layers of video, filtered by effect chains and then mixed together. FreeJ is a video mixer: an instrument for realtime video manipulation used in the fields of dance theater, veejaying, medical visualization and TV. Its development started in 2001 and continued actively for many years.
