-=:[ dyne.org software foundry ]:=--- - -- - proudly presents:
o o_/ o
<| v |
< > / \
| \o o o o o o \o/
o_/ | |> /v |> /v |> |
| / \ < > /> // /> // < >
\o/ \o o/ \o o/ \ |
| | v\ /v __o v\ /v __o o o
/ \ / \ <\/> __/> <\/> __/> <\__ __/>
[[[ FreeJ 0.11 "alive in babylon" ]]]
http://freej.dyne.org
:: OVERVIEW
FreeJ is a vision mixer: a digital instrument for realtime video
manipulation used in the fields of dance teather, veejaying, online
streaming, medical visualisation and TV.
It runs a video engine in which multiple layers can be filtered thru
effect chains and then mixed together with images, movies, live
cameras, particle generators, text scrollers and vector graphics. All
the resulting video mix can be shown on a screen, encoded into a movie
and streamed live to the internet.
FreeJ can be controlled locally or remotely, also from multiple places
at the same time, using its ascii console interface; operations can be
scripted in javascript and triggered live via keyboard, mouse, MIDI
controllers, Joysticks, OSC clients, Wiimotes and more devices.
FreeJ's sourcecode is written in portable C and C++ and it works on
most platforms supported by the GNU C compiler, including 32bit and
64bit processors, PowerPC and various ARM flavours.
FreeJ is released free under the GNU General Public License (v3).
:: FEATURES
++ reads and renders layers from multiple sources:
webcams, TV, divx/avi movies, images, txt files and more
++ can encode in Ogg/Theora video, recording on local file
and streaming live to an online Icecast server
++ can be controlled from remote: VJoE - VeeJay over Ethernet
++ can be scripted in object oriented javascript
++ supports frei0r and freeframe video plugins
++ very efficient video engine with multithreaded layers
++ Emacs/Vi style console with hotkeys and completion
++ multiple controllers at the same time (Midi,Joystick etc.)
++ 100% Free and open source, GCC 4 compliant portable code
:: HISTORY
This software started being developed as a digital instrument Jaromil
used in dance-theater performances. Since 2001 ongoing development
took inspiration from various artists and programmers: Andreas
Schiffler, Roberto Paci Dalo', Tom Demeyer, Francescopaolo Isidoro,
Kentaro Fukuchi, Luigi Pagliarini, Isabella Bordoni, to name just a
few.
Set the VeeJay Free! was the first motto for this software.
In 2003 Kysucix joined development contributing the streaming feature
and helping to include the javascript parser. He employed FreeJ in
interactive installations while working with Studio Azzurro.
Since 2004 Jaromil has been employed by Montevideo / Time Based Arts
(NIMK) and his research and development activity also converged in
FreeJ development.
In 2005 Mr.Goil joined development, writing programmable controllers,
reviewing the scripting environment and adding more features.
In 2007 the austrian initiative Netculture.lab supported Jaromil and
Mr.Goil developing the BeTV release: it enhanced scriptability and
streaming, with a major cleanup of the code and wider support of video
plugins.
After revamping their enthusiasm in the Chaos Computer Camp, in 2008
both Jaromil and Mr.Goil met regularly in code sessions , rapidly
driving the project towards a stable javascript API. Meanwhile
Blender2Crystal developer Caedes has joined implementing python
bindings and using the FreeJ engine in a 3d environment.
In 2009 FreeJ development is sponsored by Digitale Pioneers and
almost the entire team had the opportunity to join the Wintercamp
organised by the Institute of Network Cultures in Amsterdam; here, a
week of coding & sharing gave a significant push to the entire
project, leading to many bug fixes and some really interesting
rewriting and optimization into the code. Those magical days saw the
presence of Jaromil, Acracia, Xant & V@nex living in Amsterdam, Vlax
from Oaxaca (Mexico), Kobaiashi & Shammash from Italy, Crash, Tomak &
Asbesto from Sicilia (Italy), Mr.Goil from Germany, Andy from
Australia, Adnan from Switzerland, Lluis from France, and Rama from
Argentina. What a nice family! :)
For the time being, FreeJ is employed in various video performances,
interactive installations and online TV streams, as well used for
visualisations in medical analysis.
Developers are keen to accept projects and propositions in order to
sustain the development activity and involve more developers, please
join our mailinglist on http://lists.dyne.org to collaborate and be
part of our history :)
:: GET STARTED
To start rolling with FreeJ you can have a look to the online
documentation on http://freej.dyne.org
Most powerful uses of FreeJ involve scripting for live interaction
with devices and video compositing, still a first look at the console
controller can give an initial picture of how the software works.
A nice tutorial to start is: http://lab.dyne.org/FreejTutorial
Tutorials, examples and scripting reference are available from the
website as well along with the distributed sourcecode, in the doc/ and
scripts/ directories. GNU/Linux distributions usually ship these files
inside /usr/share/freej and /usr/doc/FreeJ*
As development unrolls suggestions and feedback are welcome, join us
on the freej mailinglist on http://lists.dyne.org and let us know your
impressions and ideas.
:: REQUIREMENTS
To compile and run FreeJ it is necessary to have:
- a working GNU/Linux system
or Darwin/OSX -> see the documentation in README.OSX
- SDL libraries http://www.libsdl.org
- PNG libraries http://www.libpng.org
- S-LANG libraries http://www.s-lang.org
Several other libraries are optional and strongly recommended to
benefit from all features implemented in FreeJ, in particular
Ogg/Vorbis/Theora libraries available on http://www.xiph.org
:: HOW TO INSTALL IT
++ GNU/Linux users:
On Debian and Ubuntu 'freej' stable packages are ready to
install. Release candidates up to date with latest development
are also published on: http://launchpad.org/~jaromil/+archive
On Gentoo it is also possible to 'emerge freej'
++ Apple/OSX users:
Binary packages of FreeJ for OSX should be available from the
website http://freej.dyne.org, although they might be a bit
outdated and limited in features. It is also possible to compile
FreeJ from source following the README.OSX and using XCode,
MacPorts and Fink.
In case you are a programmer talented with OSX please consider to
get in touch with us and contribute to make this software better
on the Apple platform, there isn't much work to do anyway.
++ Windlows users:
No-one of us feels to compile FreeJ on the M$ platform, but there
is a quick and easy way to try this software using the dyne:bolic
liveCD even without installing anything, just boot it, see:
http://dynebolic.org
++ Game console users:
Experimental builds of FreeJ have succeeded to work on consoles
as GP2X and NintendoDS. It should be also possible to make FreeJ
run on other embedded devices and we are very interested in doing
so, please contact us if you are as well :)
:: TEAM
Denis "Jaromil" Roio - FreeJ author and mantainer
Silvano "Kysucix" Galliani - Scriptability, encoding and layers
Christoph "Mr.Goil" Rudorff - Scriptability and several controllers
Luca "Shammash" Bigliardi - Debian packaging and core development
Andrea "Xant" Guzzo - OSX porting and core development
parts of included code are written by Andreas Schiffler (sdl_gfx),
Jan Gerber (theorautils), Dave Griffiths (audio bus), Nemosoft
(ccvt), Charles Yates (yuv2rgb), Steve Harris (liblo), Sam Lantinga
(sdl_*), Jean-Christophe Hoelt (goom), L. Donnie Smith (cwiid),
Olivier Debon (flash).
documentation, testing and user case studies have bee contributed by:
Anne-Marie Skriver, Marloes de Valk, Piotr Sobolewski
refer to the AUTHORS file for a full list of contributions
:: DISCUSSION
A mailinglist for further discussion about FreeJ is running on
http://lists.dyne.org
For chat we hang around the channel #dyne on irc.dyne.org - access is
free via SSL on port 9999, connection IP is kept anonymous for your
own privacy.
:: DEVELOPMENT
To follow development activity, visit our new distributed versioning
system on http://git.dyne.org
To test new branches and latest code, use git:
# git clone git://dyne.org/freej.git
then generate the build environment running ./autogen.sh - note that
automake and aclocal at exactly 1.9 version are required for it.
More detailed instructions about installation by git can be found
into the INSTALL readme file.
Please download and run the latest code from there if you want to
submit a bugreport, submit a patch or propose and test new features on
our mailinglist.
:: DISCLAIMER
FreeJ is (c) 2001 - 2009 by Denis Roio
(c) 2004 - 2005 by Silvano Galliani
(c) 2005 - 2008 by Christoph Rudorff
(c) 2008 - 2009 by Luca Bigliardi
(c) 2008 - 2009 by Pablo Martin
Statically included libraries are copyright of the respective authors.
This source code is free software; you can redistribute it and/or
modify it under the terms of the GNU Public License as published by
the Free Software Foundation; either version 3 of the License, or (at
your option) any later version.
This source code is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Please refer to
the GNU Public License for more details.
You should have received a copy of the GNU Public License along with
this source code; if not, write to: Free Software Foundation, Inc.,
675 Mass Ave, Cambridge, MA 02139, USA.