Tutorial de videoefectos con aMSN


Videoefectos con aMSN

Efectos en tiempo real para videoconferencia con aMSN

J. Félix Ontañón Carmona

 

El siguiente documento se cede al dominio público, según la licencia CC Reconocimiento-NoComercial-CompartirIgual 2.5 España

 




Capítulo 1. Introducción

En este tutorial veremos como aplicar efectos en tiempo real para videoconferencias usando aMSN.



Antes de empezar

No es objetivo de este documento detallar como configurar una webcam bajo linux, ni como usar aMSN mas allá de las propias intenciones del tutorial. No obstante detallamos aquí un par de sitios webs interesantes de cara a configurar una webcam bajo linux y como realizar videoconferencia con aMSN:

Este documento está parcialmente basado en el tutorial encontrado en Video4Linux? Loopback Device.

Es perfectamente posible aplicar también estos efectos en tiempo real a cualquier aplicación que haga uso de la webcam como puede ser Ekiga, xawtv, etc... es, sin embargo, objeto de este documento, dar detalles de la configuración para su uso con aMSN.



Componentes

La aplicación de efectos de video en tiempo real para videoconferencia con aMSN se consigue gracias a dos componentes:

video4linux device (vloopback)

Driver que implementa video pipe usando dos dispositivos video4linux.

effectv

Aplicador de efectos en tiempo real. Véase http://effectv.sourceforge.net/ para mas información.

A la instalación y configuración de estos dos programas dedicaremos nuestro esfuerzo, pues la configuración de webcam bajo aMSN es trivial.

En este documento se han utilizado las versiones vloopback-1.0, effectv-0.3.9 y amsn-0.95.



Capítulo 2. Instalación y uso

Effectv

Effectv es muy sencillo de instalar: está empaquetado en casi todas las distribuciones. En caso de no disponer de paquete para su distribución, o preferir compilar desde código fuente (por ejemplo para tener la última versión del programa), puede descargarse desde el website de effectv.

En sistemas Debian (debian, ubuntu, guadalinex ...) debería bastar con:

   $ apt-get install effectv
  

Effectv es una aplicación para consola. Con los cursores podemos cambiar de efecto y con las teclas F1, F2 ... podemos ecualizar el brillo, contraste y color. Hay ciertos efectos que tienen variaciones, podemos cambiar entre las variaciones con las teclas 1, 2, etc...


Normalmente tan solo con lanzarlo desde consola o escritorio debe funcionar (siempre dentro de una sesión X). No obstante, si el dispositivo de webcam (v4l) es distinto a /dev/video0 puede indicársele con el parámetro -device FILE. Algunas opciones destacables son[1]:

   
   -autoplay X
       Cambia de efecto automáticamente cada X fotogramas

   -vloopback X
       Vuelca la salida procesada al archivo X
   
  

Para este tutorial el mas importante es -vloopback gracias al cual podremos redirigir la salida de effectv al dispositivo vloopback que servirá de entrada para aMSN



Vloopback

El driver vloopback funciona como módulo para el kernel. Parece ser que no está siendo mantenido por su creador original y gente como la del proyecto Motion se está encargando de mantenerlo.

En el momento en el que se escribió este documento (29 de Enero de 2007) fue descargado desde el website del proyecto Motion aquí: http://www.lavrsen.dk/twiki/pub/Motion/VideoFourLinuxLoopbackDevice/vloopback-1.0.tar.gz.

El paquete .tar.gz descargado contiene el código fuente del módulo. Para compilarlo es necesario tener instalado las kernel headers y libc-dev. En sistemas Debian debería valer con esto:

   $ apt-get install linux-headers-$(uname -r) linux-libc-dev
  

Con las dependencias instaladas basta con descomprimir el paquete y compilarlo. Se recomienda realizar estas operaciones con permiso de superusuario:

   $ tar zxf vloopback-1.0.tar.gz
   $ cd vloopback-1.0
   $ make && make install
  

Cargamos el módulo y comprobamos el log del sistema en busca de errores:

   $ modprobe vloopback
   $ dmesg | grep vloopback
   
    vloopback.c: Video4linux loopback driver v1.0
    vloopback.c: Loopback 0 registered, input: video1,output: video2
   
  

Esto nos dice que el módulo se cargó satisfactoriamente y que se crearon los dispositivos
/dev/video1 y /dev/video2, de entrada y salida respectivamente[2].

En este tutorial usaremos /dev/video1 como entrada del video procesado por effectv y /dev/video2 como dispositivo al que "enchufaremos aMSN"



aMSN

aMSN está disponible para casi todas las distribuciones, no obstante puede ser descargado
desde su website oficial: http://amsn.sourceforge.net.

Como ya se ha comentado, no es objeto de este documento describir como realizar videoconferencia con aMSN, sin embargo en la introducción se da un enlace a un buen tutorial que lo explica.

Quizás lo mas destacable es la necesidad de tener accesible el rango de puertos: 6890-6900 para protocolo TCP y UDP.



Capítulo 3. Haciéndolo funcionar

Aquí llega el momento crítico, en el cual hacemos funcionar todas las aplicaciones. Suponemos que el módulo vloopback ha sido satisfactoriamente cargado en el sistema. En caso contrario, seguir los pasos descritos aquí.

Primero llamamos a effectv con los parámetros necesarios para que, vuelque la salida procesada de la webcam al dispositivo /dev/video1
generado al cargar vloopback:

  $  effectv -vloopback /dev/video1 -device /dev/video0
  vloopback: video pipelining is OK.
 

A continuación abrimos aMSN y le especificamos el dispositivo de video a emplear en el menú Herramientas -> Preferencias -> Otras -> Webcam -> Cambiar configuración de video.

En la ventana que se abrirá seleccionar el dispositivo de vídeo tal y como figura en la imagen:

Importante

Nótese como figura el dispositivo effectv.

Con esto ya tenemos enlazado la salida procesada de effectv a la entrada de vídeo de aMSN.
En la siguiente captura de pantalla se observa el resultado final:


Ahora con la videoconferencia activa podemos, incluso, desde la ventana de effectv cambiar los efectos "on the fly" haciendo uso de los cursores.

Importante

Personalmente he documentado un par de efectos que cuelgan al aMSN.

Espero que este documento haya sido de vuestro agrado. Un saludo desde la asociación Xinug!

Notas

[1]

Más información en el manual de effect (man effectv)

[2]

El driver vloopback es capaz de generar mas de una pareja de dispositivos de cara a aplicaciones mas complejas, mas información en la web del proyecto Motion

Enviado por Felix el Lun, 2007-01-29 21:17. leer más | 2 comentarios

Responder