# Freej

FreeJ és un mesclador visual: un instrument per la manipulació en temps reals, usat en camps de projeccions audiovisuals, video jockey, visualització mèdica i televisió.
FreeJ pot estar controlat mitjançant una consola (S-lang) i remotament per xarxa (SSH), mentre les operacions poden estar escrites amb el procediment d'orientació a objectes (javascript), a més tots els vídeos poden mostrar-se per pantalles remotes per un flux de dades en directe.
Freej, sota la llicència GNU/linux modular, fa fàcil la implementació d'algorismes que permetran la utilització com a efectes i combinar-los amb altres ja escrits, obtenint resultats òptims i compatibles. Els beneficis de l'arquitectura d'objectes orientats en temps real permet la utilització de diverses capes que operen en paral·lel, essent millor que un sistema de diversos CPU. El llenguatge utilitzat en el desenvolupament és C/C++.

## Mescla i flux de vídeo

Freej pot sobreposar capes, emmascarar, transformar i filtrar diferents capes sobre de la pantalla. No hi ha límit en el nombre d'aquestes i totes es poden mesclar en les condicions que es vulguin, aquestes capes contindran dades de vídeo on la seva procedència pot ser: fitxers de vídeo, webcams, targetes capturadores de televisió, imatges, renders, animacions vectorials de flash.
Freej pot produir un flux de dades a un servidor icecast amb el vídeo ja manipulat. El resultat pot ser reproduït per qualsevol ordinador connectat a internet, l'únic requeriment serà poder obrir els fitxers amb un reproductor compatible amb el codec Theora.

## Història

L'any 2001 es va endagar aquest projecte de software lliure pel Jaromil (amb nom real, Denis Rojo) essent l'autor principal de Freej. D'ençà la versió 0,7 (any 2003) un nou desenvolupador es va unir a l'equip és Kysucix (Silvano Galiani) ajudant a incloure un parser de javascript, mentres treballava en el Studio Azzurro. Des del començament del projecte, freej ha tingut projecció en multitud d'events internacionals de software lliure, alguns d'ells desenvolupats a Barcelona.
Des de l'any 2004 es rep el suport del Netherlands Media Art Insitute.
L'any 2005 Mr. Goil es va unir en el desenvolupament escrivint controladors programables, revisant l'entorn del script i agregant més característiques.
El 2007 la iniciativa austriaca (Netculture Lab) va recolzar Jaromil i Mr. Goil per desenvolupar Betv amb el que es millora l'escriptura i la reproducció en temps real, amb claredat en el codi font i un soport més ampli per als connectors de vídeo.
L'any 2008 Jaromil i Mr. Goil es van reunir regularment en sessions d'intercambi d'escriptori de codi el que ràpidament va portar el projecte cap a un llançament de la versió estable 1.0 del motor Freej i de l'API per a JavaScript. Al mateix temps el desenvolupador Cades de Blender2Crystal va experimentar amb el biding per a Phyton i usa el motor de Freej en un entorn 3D.
El projecte a Octubre de l'any 2010 compte amb 8 desenvolupadors, comptant també amb l'ajuda d'altres programadors de projectes dispars com vorbis, Effectv.
En el 2010, freej té el suport de diverses organitacions com són: Digitale Pioniers, Nederlands Instituut voor Mediakunst i Netculture Lab Austria - osAlliance.

## Desenvolupadors

Taula resum de la gent que col·labora amb el projecte Freej:
Desenvolupadors :
| Procedència | Nom i àlies | Tasques que desenvolupa |
| Itàlia | Denis Roio, ("Jaromil") | Iniciador del projecte |
| Itàlia | Filippo Giunchedi, ("GodoG") | Tasques de manteniment dels paquets de Debian GNU/Linux |
| Espanya | Pablo Martines, ("Caedes") | Interoperabilitat en entorns 3D, tasques Open GL |
| Itàlia | Luca Bigliardi, ("Shammash") | Suport en les tasques de manteniment dels paquets de Debian GNU/Linux |
| Països Baixos | Robin Gareus | Àudio i llibreries FFmpeg. |
| Itàlia | Andrea Guzzo, ("Xant") | Desenvolupament per a sistemes operatius OSX (Cocoa) |
| Alemanya | Christoph Rudorff, ("Mr.Goil") | Usabilitat ubiqua, MIDI i controladors per a palanques de control. |
| Itàlia | Silvano Galliani, ("Kysucix") | Codificació de vídeo |

## Característiques

* composicion en directe mitjançant webcams, senyal de televisió, fitxers de vídeo, imatges, arxius txt.
* Pot estar controlat remotament.
* pot estar escrit mitjançant el llenguatge d'objectes orientats
* pot reproduir arxius d'animacions vectorials amb flash.
* accepta controladors asíncrons com per exemple MIDI o un ratolí.
* eficiència en el processament paral·lel.
* 100% programari GNU.
* escrit mitjançant el llenguatge C/C++.

## Enllaços externs

* pàgina web principal Arxivat 2018-07-07 a Wayback Machine.
* dyne.org taller de programari lliure
* com utilitzar l'opcionalitat de flux de dades
* pàgina web de Jaromil