FreeJ Save

Free Vision Mixer

Project README

-=:[ 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:

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.

Open Source Agenda is not affiliated with "FreeJ" Project. README Source: dyne/FreeJ
Stars
38
Open Issues
5
Last Commit
7 months ago
Repository
License

Open Source Agenda Badge

Open Source Agenda Rating