Recording videos with Jack and gtk-recordmydesktop/es

From Psychosynth

Este tutorial explica como utilizar jack y gtk-recordmydesktop para grabar videos con psychosynth utilizando directamente la salida del programa, con un resultado mucho mejor que usando un micrófono y una cámara de video :)

Contents

Instalando jack y gtk-recordmydesktop

El primer paso será instalar estos dos programas. Desde una distribución basada en Debian podemos hacer símplemente:

apt-get install jackd gtk-recordmydesktop

En otro caso tendréis que buscar los paquetes manualmente en el sistema propio de vuestra distribución o instalarlos manualmente. Sus páginas oficiales son: jack y recordmydesktop.

Iniciando jack

Primero vamos a explicar brevemente qué es jack.

Jack es un sistema de sonido, que por ahora funciona tanto en GNU/Linux como en MacOS X que está orientado a poder interconectar la señal entre las distintas aplicaciones. Una aplicación puede usar jack para la entrada y salida de audio y MIDI. Cuando la aplicación se ha registrado, cualquier otra aplicación puede usar las salidas y entradas de las demás para enviar y recibir información. Pero no sólo eso, desde fuera de las aplicaciones podemos modificar las conexiones entre programas como queramos, usando aplicaciones como qjackqtl.

Lo que pretendemos hacer es utilizar la salida por Jack en Psychosynth para que el programa que nos permite grabar videos del escritorio pueda capturar la salida del Psychosynth directamente, sin ruidos ni interferencias de ningún tipo.

Para ello, lo primero que tenemos que hacer es iniciar jack. Le tendremos que especificar algún sistema de salida con la opción -d. Para que todo funcione mejor, también ajustaremos el sampling rate al que suele usar Psychosynth por defecto para evitar problemas, con la opción -r. También podríamos ajustar el sampling rate de Psychosynth al de jack, eso como prefiráis vosotros.

Así, podremos ejecutar, por ejemplo:

jackd -d oss -r 44100

O, alternativamente:

jackd -d alsa -r 44100

Ejecutando Psychosynth con salida por jack

Ahora tendremos que ejecutar Psychosynth enviando la salida a través de jack. Ésto lo podremos hacer de dos formas.

Desde la consola

Desde la consola basta con utilizar el parámetro -o para cambiar el sistema de salida. Notar que el sistema de salida cambiará permanentemente, y después tendréis que reactivar alsa u oss cuando no queráis usar jack.

psynth3d -o jack

Desde la interfaz gráfica

Los pasos son muy sencillos. Hacemos click en el botón que es una caja de herramientas en el menú de abajo. En la opción output seleccionamos jack y le damos a apply. Ya está :) Aquí una imágen:

Screenshot-psychosynth3d-config.png

Grabando el video con gtk-recordmydesktop

Ahora para grabar el video ejecutamos:

gtk-recordMyDesktop

Lo primero que tenemos que hacer es hacer click en advanced para editar las opciones. Nos vamos a la pestaña performance y allí activamos la opción full shots every frame, ya que de lo contrario no podremos grabar correctamente las ventanas con OpenGL como la de Psychosynth.

Luego nos vamos a la pestaña sound y marcamos la opción Use jack for audio capture. Ahora tendremos que seleccionar los puertos registrados en jack que queremos utilizar para la entrada. Para ello en la lista que hay un poco más abajo le damos a refresh y luego seleccionamos pulsando la tecla shift y clickando con el ratón todas las entradas de la lista que empiezan por psychosynth.

Despues de ésto cerramos la ventana de preferencias y le damos a select window. Cambiará el cursor del ratón y entonces pincharemos en la ventana del cliente 3D de Psychosynth para seleccionarla. Todo quedaría así:

Screenshot.png

Recordad que la ruta dónde guardar el video tenemos que elegirla antes de empezar a grabar el video, lo que puede hacerse con el botón Save as. Finalmente hacemos click en el botón record. Ya podríamos ponernos a jugar con Psychosynth y todo se estaría grabando. Cuando hayamos acabado, hacemos click en el botón de stop que gtk-recordmydesktop habrá puesto en el traydock:

Screenshot-tray.png

Nos aparecerá una ventana indicando que se está codificando el video. Cuando acabe, ¡ya está!

Notas

Es posible que mientras estáis grabando el video se escuchen muchos ruidos. A mí me pasa cuando tengo puestos unos cuantos objetos ya sobre la mesa. Esto se debe a que el procesador tiene demasiada carga debido a que está a la vez capturando video, generando imágenes 3D y sintetizando sonido y jack no es capaz de suministrar el sonido a la tarjeta de sonido en el momento adecuado. Creo que puede solucionarse ejecutando jack en modo realtime y cosas así pero yo no lo he conseguido, aunque debo decir que no soy ningún experto en jack.

Pero no hay que preocuparse por este problema, aunque se escuchen ruidos luego el video se ve perfectamente sincronizado y sin ruidos. Así que sencillamente practicad antes que es lo que queréis hacer y luego olvidaros de los ruidos que aparezcan mientras grabáis porque en el video final no aparecerán.