FreeJ
From Wikipedia, the free encyclopedia
FreeJ is a vision mixer: an instrument for real-time video manipulation used in the fields of dance theater, veejaying, medical visualisation and TV. With FreeJ multiple layers can be filtered through effect chains and then mixed together.
FreeJ can be operated live from a console (S-Lang) and remotely over networks (SSH), while operations can also be scripted in an object oriented procedural language (Javascript), furthermore all video mix can be shown on multiple and remote screens, encoded into a movie and streamed live to the internet.
The core engine is multithreaded and asynchronous so it can accept various controllers at the same time: So far MIDI and joystick controls are implemented.
Freej, as a free modularized GNU/linux framework, makes it easy to write simple effective algorithms and combine them with others, obtaining multiple results and keeping them compatible with as many devices as possible. Benefits of real-time objects oriented architecture that makes efficient use of multi-threading (in which the layer run in parallel), also taking advantage of multiple CPUs and cluster systems. The language employed in development is C/C++.
Contents |
[edit] Mix & stream video
Freej can overlay, mask, transform and filter multiple layers on the screen. There is no limit to the number of layers that can be mixed, moreover each layer can be video taken from different sources: movies files, webcams, TV cards, images, renders, flash animations.
Freej can produce a stream to an icecast server with the video being mixed and audio grabbed form soundcard. The resulting video can be played on any computer connected via internet, with compatible players (it has to have theora codec). Also the console interface of Freej can be remotely operated using SSH, it can be left running and then reconnected later and operated from multiple places at the same time (all using screen).
[edit] History
Jaromil (Denis Rojo) is Freej's author and current mantainer, in addition, since 0.7 was released a new developer joined the core development implementing several enhancements, kysucix (Silvano Galliani).
[edit] Characteristics
- live compositings of multiple webcams, TV signals, movie filters, images, .txt files, particle generators
- can be remotely controlled (Vjoe)
- can be scripted in procedural object oriented language
- can playback flash vectorial animations
- no frame drop when looping movie clips
- Emacs/Vi style console with hotkeys (S-lang)
- accepts asynchronous controllers at the same time like MIDI & joystick
- very efficient video engine with multithreaded layers
- 100% GNU Public License Free Software
- modular C/C++ code and flexible API