martes, 10 de julio de 2007

Capturar salida de Video en Linux




En mi etapa como profesor he tenido que mostrar el uso de una aplicación especifica, mediante videos; encontrandome en primer momento con un inconveniente ya que la mayoria de aplicaciones no poseen videos tutoriales.

¿Cómo superamos este problema?, no tengo cámara de video. Averiguando en Wikipedia llegue al siguiente concepto:

Screencast

“Un screencast es una grabación digital de la salida por pantalla de la computadora, a veces conteniendo narración de audio.
... son útiles para demostrar características de software. Crear un screencast ayuda a los desarrolladores de software a mostrar su trabajo. También puede ser una habilidad útil para los usuarios ordinarios de software, pueden ayudar a mostrar bugs (la película sustituye a las explicaciones escritas potencialmente ambiguas) o para mostrar a terceras personas como se realiza una tarea en un entorno de software específico. Los Screencasts son herrmientas excelentes para aprender a usar las computadoras, y varios podcasts han comenzado a usar a sus usuarios de computadoras como usar el software a través de screencasts.” (Wikipedia)

¿Como hacerlo?
En la página http://recordmydesktop.sourceforge.net/ encontramos el proyecto recordmydesktop que nos permite capturar las salidas de pantalla en un video, por defecto en formato ogg.

Para hacerlo mas aburrido vamos a redactar el proceso de instalación paso a paso:

Paso 1: Descargar

Podemos descargar el proyecto desde la misma página del proyecto o si usuamos Debian podemos descargar los paquetes compilados de http://apt.linex.org/linex2006/dists/cl/gnulinex/binary-i386/ . Buscamos el paquete:
recordmydesktop_0.3.4-1~sarge1_i386.deb
u otro parecido

Paso 2: Instalar

$sudo dpkg -i recordmydesktop_0.3.4-1~sarge1_i386.deb

Paso 3: Probando ... Probando

Primero recomiendo leer el manual de recordmydesktop:
$man recordmydesktop
o también
$recordmydesktop -h

Ahora hacemos nuestro primer video
$recordmydesktop --no-sound -o salida.ogg
El atributo --no-sound indica que no se guardara la salida de sonido del video.
El atributo -o salida.ogg indica que la salida del video se hara en el arcivo salida.ogg

¿Cómo lo paro?
Como recordmydesktop no es un programa de línea de comandos es necesario mandar señales
SIGUSR1 Pausa la grabación y la inicia despues de una pausa.
SIGTERM Causa el normal término de una grabación.
SIGINT Causa el normal término.
SIGABRT Cancela la grabación.

o le mandas Ctrl+C y te olvidas de todo esto.


Algunas Cosillas mas:

Grabar los eventos de una sola ventana
$recordmydesktop -windowid

Nota: El id de la ventana lo hallamos ejecutando en consola
$xwininfo
Nos localizamos en la ventana que vamos a capturar (utilizando Ctrl+Tab) y hacemos click en la ventana.
En la línea de comandos se nos mostrara varias líneas de información. Una de ellas nos dira algo similar
xwininfo: Window id: 0x2201aff "TITULO DE MI VENTANA"
ahí encontramos el id 0x2201aff
ahora si tiene sentido el comando...
$recordmydesktop -windowid 0x2201aff

Tarea: Convertir el formato ogg en otro formato de video o animación flash.

No hay comentarios: