Tutorial Básico de Freej

FreeJ es un mezclador de visiones: un instrumento digital para la manipulación de video en tiempo real y que es usado en la danza, teatro, veejaying, streming online, la visualización médica y la TV.

Ejecuta un motor de video en el cual múltiples layers pueden ser filtrados a través de cadenas de eventos que luego pueden ser mezclados con imágenes, cine, cámaras en vivo, generadores de particulas, texto rotativo y gráficos de vectores.

Toda la mezcla de videos que resulta puede ser proyectada en una pantalla, comprimido como si fuera una película de cine, y también transmitido por internet.

FreeJ puede ser controlado local o remotamente, incluso desde múltiples lugares al mismo tiempo usando su interfaz tipo consola ascii. Las operaciones pueden ser escritas en javascript y lanzadas con un teclado, un mouse, controladores MIDI, joysticks, clientes OSC, Wiimotes y otros dispositivos.

El código fuente de FreeJ está escrito en Portable C y en C++. Funciona en la mayoría de las plataformas soportadas por el compilador C de GNU, incluyendo procesadores para 32 y 64bits, PwerPC y varios formas de ARM.

FreeJ está liberado bajo la Licencia Pública General GNU (v3).

CARACTERÍSTICAS

HISTORIA

Este software comenzó a ser desarrollado por Jaromil como un instrumento digital para usarlo en performances de danza-teatro. Desde el año 2001 el desarrollo consiguiente tomó inspiración de varios artistas y programadores: Andreas Schiffler, Roberto Paci Dalo', Tom Demeyer, Francescopaolo Isidoro, Kentaro Fukuchi, Luigi Pagliarini, Isabella Bordoni, por nombrar tan solo algunos.

¡Libera el VeeJay! fue el primer slogan de este software.

En 2003 Kysucix se unió al desarrollo contribuyendo con la capacidad para transmitir y ayudando a incluir el parser de javascript. El ha utilizado FreeJ en instalaciones interactivas mientras trabajaba con el Studio Azzurro.

Desde el año 2004 se recibe el apoyo del Netherlands Media Art Insitute.

En el año 2005 Mr. Goil se unió al desarrollo escribiendo controladores programables, revisando el entorno del script y agregándole mas características.

En 2007 la iniciativa austriaca Netculture lab apoyó a Jaromil y Mr.Goil para desarrollar BeTV con lo que se mejora la escritura y el streaming, con una mayor limpieza del código y un soporte más amplio para los plugins de video.

En 2008 Jaromil y Mr.Goil se reunieron regularmente en sesiones de code lo que rápidamente llevó el proyecto hacia el lanzamiento de la versión estable 1.0 del motor FreeJ y del API para javascript. Al mismo tiempo el desarrollador Caedes de Blender2Crystal experimenta con binding para python y usa el motor de FreeJ en un entorno 3d.

Por la primera vez desde su inicio, FreeJ es utilizado en varios performances, instalaciones interactivas y transmisiones de TV en línea, además de que se utiliza en visualizaciones y análisis médicos.

Los desarrolladores están muy interesados en conocer proyectos y propuestas para mantener estas actividades de desarrollo y así poder involucrar a mas desarrolladores. Si te interesa, por favor intégrate a nuestra lista de correos en http://lists.dyne.org y sé parte de nuestra historia.

INICIAR

Para iniciar con FreeJ puedes mirar también los archivos README, INSTALL y otros mas que son distribuidos con otros paquetes del código fuente. También puedes mirar la documentación en línea disponible en http://freej.dyne.org

Los mas poderosos usos de FreeJ envuelven el script para la interacción en vivo con dispositivos externos y con la composición de video.

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.

Los tutoriales, ejemplos y referencias sobre el script están disponibles en el sitio web junto con el código fuente que se distribuye; los puedes encontrar en los direcotorios /doc y scripts/. Las distribuciones GNU/Linux normalmente empaquetan estos archivos dentro de /usr/share/freej y /usr/doc/FreeJ*

Como las sugerencias acerca del desarrollo son bienvenidas, integrate a la lista de correos http://lists.dyne.org y dejanos saber tus impresiones e ideas.

Objetivos del Manual

En esta sección tu aprenderás:

Para eso asumimos que tu:

CONTENIDO


INSTALACION

Requirimientos

Para compilar y jecutar FreeJ es necesario tener:

  1. un sistema activo GNU/Linux o Darwin/OSX -> mira la documentación en README.OSX

  2. librerías SDL http://www.libsdl.org

  3. librerías PNG http://www.libpng.org

  4. librerías S-LANG http://www.s-lang.org

Algunas otras librerías son opcionales y muy recomendables de tener para aprovechar todas las características implementadas en FreeJ, en particular las librerías Ogg/Vorbis/Theora disponibles en http://www.xiph.org

Cómo instalar

Usuarias GNU/Linux

Existen paquetes Debian y Ubuntu listos para instalar. Las versiones en desarrollo actualizadas con los recientes desarrollos son publicadas también en: http://launchpad.org/~jaromil/+archive

En Gentoo es posible también 'emerge freej'

Usuarias Apple/OSX

Paquetes binarios de FreeJ para OSX deberían estar disponibles en el sitio web http://freej.dyne.org, aunque pueden estar un poco desactualizadas y limitadas. También es posible compilar FreeJ desde las fuentes siguiendo lo que se indica en el archivo README.OSX y usando XCode, MacPorts y Fink.

En caso de que seas una programadora talentosa del OSX por facor considera ponerte en contacto con nosotros para contribuir a mejorar la plataforma para Apple de este software, ya que hay mucho que hacer todavía.

Usuarias Windlows

Ninguno de nosotros tiene ganas de compilar FreeJ en la plataforma M$, pero hay una manera fácil y rápida de experimentar con este software usando el disco en vivo dyne:bolic, que permite probar Freej tener que instalar nada, solo arráncalo.

Usuarias de consolas de Juego

Se han realizado exitosos experimentos en consolas como GP2SX y NintendoDs. Debería ser posible ejecutar FreeJ en otros dispositivos incrustrados y estamos muy interesados en hacerlo, así que ponte en contacto con nosotros si tu también lo estás :)

Instalando desde el código fuente

x86 PC

Antes que nada asegúrate de tener:

cdbs, libtool, flex, bison, libsdl-dev, libpng-dev, libfreetype6-dev, libfontconfig-dev, libogg-dev, libvorbis-dev, libjpeg-dev, libslang2-dev, libtheora-dev, libavcodec-dev, libavformat-dev, libswscale-dev, libunicap2-dev, libbluetooth-dev, fftw3-dev, libjack-dev, libasound-dev, libhtml-template-perl, python-dev, swig

Si vas a crear paquetes Debian, necesitas tambien debhelper and pkg-config

POR FAVOR FIJATE: SE REQUIERE automake 1.9 - no funciona con una versión diferente (estamos trabajando fuertemente en esto).

luego diríjete hacia filters/nasm-x86 y tecela

make

copia a mano los filtros *.so filters en el directorio ~/.freej/ de tu home y estarás listo para el rock'n roll!

Ahora, descarga la versión estable reciente de freej desde

http://ftp.dyne.org/freej

extrae el archivo fuente y compilalos:

   $ tar xvfz freej.tar.gz
   $ cd freej
    (si estás leyendo este archivo desde las fuentes, comienza desde aquí)
   $ ./configure
   $ make
   $ sudo make install

esto instalará:

(o cualquier otro prefijo que configures en vez de la ubicación predeterminada /usr/local)

Para prenderlo solo teclea

freej

¡y es todo!

Darwin/OSX

Por favor lee el archivo README.OSX

desde paquetes debian

Asumiendo que puedes

apt-get install freej

y tener un FreeJ precompilado, lo mejor que puedes hacer para exprimir lo mejor de tu maldita compu es compilar el software con optimizaciones específicas para la máquina!

El script de configuración adivinará las mejores optimizaciones al compilar flags para tu CPU.

Los siguientes comandos son entonces necesarios para completar tu entorno. Desde adentro del directorio de las fuentes de freej tienes que hacer:

sudo apt-get install autoconf automake1.9
sudo apt-get build-dep freej
dpkg-buildpackage -rfakeroot

INSTALAR DESDE EL REPOSITORIO GIT

Asumiendo que cuentas con una distribución Debian/Ubuntu (para otras distros puede haber algunas diferencias) con todas las herramientas necesarias y todas las librerías de desarrollo instaladas, por ejemplo build-essential, las librerías indicadas arriba, etc.) :

Necesitas instalar git:

apt-get install git-core

Luego tienes el código:

git clone git://code.dyne.org/freej.git

Luego de esto tu tendrás un directorio "freej". Entra y haz esto:

./autogen.sh

Lo que creará todos archivos de configuración necesarios (puede ser que tengas que instalar algunas librerías faltantes o instalar la versión requerida de automake 1.9). Al mismo tiempo esto ejecuta el script "configure".

Si necesitas activar/desactivar algo, relazna "configure" usando tus opciones favoritas.

Y cuando termines:

make && sudo make install 

¡Eso es todo!

Si quieres experimentar con video en vivo, asegúrate de tener una cámara trabajando y activarla desde la configuración del BIOS (así es por ejemplo para eeepc 701), de otra manera no funcionará :)


Los primeros pasos

Crea un directorio, por ejemplo "freej_tmp". Vamos a colocar algunas imágenes, videos, etc en este directorio y jugaremos dentro:

 mkdir freej_tmp
 cd freej_tmp

Descarga esta imagen al directorio freej_tmp. Ahora lanza freej:

 freej ipernav.png 

Como resultado, freej comienza y muestra la imágen ipernav.png.


Interfaz de usuaria

Freej consiste en dos ventanas:

Desde la ventana de consola teclea ctrl-h. Verás una lista de atajos.

Como puedes ver, [ctrl+c] significa salir. Presiona [ctrl+c]. Se te pedirá confirmar que realmente quieres salir. Teclea yes [enter]