Freej
# Freej

FreeJ es un mezclador visual: un instrumento para la manipulación en tiempo real usado en campos de proyecciones audiovisuales, video jockey, visualización médica y televisión.

FreeJ puede controlarse mediante una consola (S-long) y remotamente mediante la red de redes (SSH), mientras las operaciones pueden estar escritas con el procedimiento de objetos orientados (javascript), además existe la posibilidad de mostrar el resultado mediante streaming en directo.

Freej, bajo licencia GNU/linux modular, hace fácil escribir algoritmos que permitan efectuar simples efectos y así combinarlos con algunos ya implementados, obteniendo unos resultados óptimos y compatibles. Los beneficios de la arquitectura orientada a objetos en tiempo real permite la multitarea (proceso de distintas capas en paralelo). El lenguaje utilizado en el desarrollo es el C/C++.

## Mezcla y streaming de vídeo

Freej puede sobreponer distintas capas, enmascarando, transformando y filtrando las distintas capas sobre la pantalla. No hay límite en el número de éstas y todas se pueden mezclar en diferentes condiciones de transformación. La fuente del archivo de vídeo puede ser de distinta naturaleza: ficheros de vídeo, webcams, tarjetas de televisión, imágenes, renders, animaciones vectoriales de flash.

Freej puede emitir un stream a un servidor icecast con el vídeo ya manipulado. El resultado se podrá reproducir en cualquier ordenador conectado a internet con el único requerimiento de tener un reproductor con el códec de Theora.

## Historia

Jaromil (Denis Rojo) es el autor de Freej actualmente y su responsable máximo, desde la versión 0,7 un nuevo desarrollador se ha sumado al equipo es Kysucix (Silvano Galiani).

## Características

* Composición en directo a partir de webcams, archicos de películas, imágenes, televisión.
* Puede estar controlado remotamente.
* Puede estar escrito mediante programación de objetos orientados.
* Puede reproducir archivos vectoriales de animación (flash).
* Acepta controladores asíncronos como: MIDI o un joystick.
* Eficiencia en el processamiento en paralelo.
* 100% software GNU.
* Escrito mediante lenguaje C/C++.
