30/12/2007

Herramientas para manipulación de vídeo I - Captura

Ya que GNU/Linux es el sistema operativo más utilizado por las grandes compañías productoras de cine en Hollywood(95% de los servidores en empresas como Disney/Pixar, DreamWorks Animation, Sony, ILM, y otras), vamos a echar un vistazo a diferentes herramientas muy interesantes, para la manipulación de vídeo. Aunque en dichas empresas existen requerimientos que casi ninguno de los mortales necesitamos, vamos a revisar aplicaciones más enfocadas a usuario final para así poder realizar tareas básicas como captura, edición no linear, codificación, manipulación de subtítulos, streaming, etc...

Primero que todo, vamos a utilizar una capturadora de las más económicas del mercado, y también bastante anticuada, pero esa es la que tengo, una Kworld con chip bt878, en mi caso particular, ya que el kernel no me detecta exactamente el tipo de chip de mi Kworld, debo configurarla manualmente. Como root verifico si el módulo bttv se encuentra cargado, y me dispongo a bajarlo.

su - lsmod | grep bttv

bttv 159797 1 bt878
video_buf 22469 1 bttv
ir_common 33477 1 bttv
compat_ioctl32 5313 1 bttv
i2c_algo_bit 9157 1 bttv
btcx_risc 7881 1 bttv
tveeprom 17617 1 bttv
i2c_core 21825 5 bttv,nvidia,i2c_viapro,i2c_algo_bit,tveeprom
videodev 28097 1 bttv
v4l2_common 18625 2 bttv,videodev
v4l1_compat 15941 2 bttv,videodev


Como vemos el módulo bttv esta siendo utilizado por el bt878, pero si pruebo con una aplicación como tvtime, no me detecta ningún canal, y tampoco me funciona la radio(gnomeradio). Por lo tanto debo configurarlo manualmente.

rmmod bt878
rmmod bttv

modprobe bttv card=75 tuner=17 radio=1

Los valores para cada tarjeta se pueden verificar o bien en las fuentes del módulo bttv en el kernel, o en listados en la red mjwired ,este procedimiento se debe realizar únicamente si nuestra tarjeta de captura no es bien detectada por el kernel, de lo contrario, no es necesario.

En los ejemplos siguientes, vamos a conectar un reproductor de DVD a la entrada de supervideo de la capturadora, la salida del sonido de dicho reproductor va conectada a la entrada de línea de la tarjeta de sonido (casi siempre la entrada azul), además debemos verificar que el line-in se encuentra activado y con volumen.

La tarjeta de sonido es una soundblaster live; si al dar doble click en el controlador de volumen, no aparecen todas las opciones como debería ser, simplemente hay que activarlas en el menú EDITAR>>PREFERENCIAS.

Cuando tengamos los valores adecuados para nuestra capturadora, simplemente hay que dejarlos de forma definitiva en nuestro sistema, para eso editamos el archivo /etc/modprobe.conf, y añadimos los valores necesarios para el buen funcionamiento de la tarjeta:

sudo nano /etc/modprobe.conf

y añadimos:

alias char-major-89 i2c-dev
alias char-major-81 videodev
alias char-major-81-0 bttv
options bttv card=75 radio=1 tuner=17


Obviamente modificando los valores adecuados para cada tipo de tarjeta...

Así nuestro sistema estará listo para empezar el proceso de captura, podemos probar el buen funcionamiento del hardware con tvtime,

sudo yum install tvtime

En este caso activamos la entrada de supervideo en tvtime, para poder ver lo que reproduce el DVD.


Lo que sigue es tener instaladas las herramientas que nos van a permitir capturar dicho video, y poder guardarlo en archivos para su almacenamiento o posterior reproducción.....

15/12/2007

AWN Avant Window Navigator en Fedora 8

AWN, es una barra o dock al estilo Mac, que nos permite mejorar la presencia de nuestro escritorio y lanzar aplizaciones de forma elegante y entretenida. Aunque dicha aplicación ya se encuentra en el repositorio oficial de Fedora 8, la versión que allí se ubica, está bastante desactualizada, sobre todo la de los applets extras. Una segunda opción es un repositorio NO OFICIAL, donde se pueden encontrar versiones mucho más actualizadas de los programas, y la solución definitiva para estar actualizados es, como siempre compilar desde las fuentes.

Para que nuestra barra funcione correctamente, debemos tener funcionando de antemano el compiz-fusion, este si se puede descargar desde los repositorios oficiales....
sudo yum install compiz-fusion-gnome compiz-fusion-extras-gnome libcompizconfig ccsm compiz-manager
Para iniciar el fusion, se ejecuta compiz-manager

Si se presenta algún problema para iniciar el compiz, verificamos que nuestro xorg.conf contenga al menos:

Section "Module"
Load "dbe"
Load "extmod"
Load "glx"
Load "record"
Load "freetype"
Load "type1"
EndSection

Section "Screen"
Identifier "Screen0"
Device "Videocard0"
Monitor "Monitor0"
DefaultDepth 24
Option "AddARGBGLXVisuals" "True"
Option "DisableGLXRootClipping" "true"
******
Section "Extensions"
Option "Composite" "Enable"
EndSection

Opción 1: (Repo oficial)

sudo yum install avant-window-navigator awn-extras-applets

Opción 2: (Repo NO OFICIAL)

Desinistalamos los extras oficiales si ya los teniamos instalados
sudo rpm -e awn-applets-core

Agregamos el repo

cd /etc/yum.repos.d/
sudo wget http://www.diffingo.com/downloads/diffingo-repo/diffingo.repo

Instalamos

sudo yum update avant-window-navigator awn-extras-applets


Opción 3: Compilación

Verificamos que se cumplan las dependencias:

sudo yum install bzr automake intltool subversion gtk2-devel libwnck-devel GConf2-devel glib2-devel gnome-common libgnome-devel dbus-glib-devel libXcomposite-devel libXdamage-devel python-devel pygtk2-devel pycairo-devel gnome-python2-gconf gnome-python2-devel gnome-python2-gnomedesktop

Descargamos las fuentes

bzr co http://bazaar.launchpad.net/~awn-core/awn/trunk avant-window-navigator

Y nos disponemos a compilar

cd avant-window-navigator ./autogen.sh make sudo make install

En este punto, la aplicación base ya se debe encontrar instalada en nuestro sistema, podemos ejecutarla o bien desde el menú Aplicaciones >> Accesorios >> Avant-window-navigator, o desde la consola (Recomendado para las pruebas iniciales)

Si todo marcha bien, podemos disponernos a compilar los applets extras, si así lo deseamos.

Verificamos las dependencias:

sudo yum install gnome-desktop-devel gnome-menus-devel vte-devel python-alsaaudio librsvg2-devel libgtop2-devel libnotify-devel libsexy-devel

Descargamos las fuentes:

bzr co lp:///~awn-extras/awn-extras/trunk awn-extras

Añadimos el awn a la variable de entorno de pkg-config, debido a que este no se encuentra ubicado en /usr
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig"
Verificamos que nos muestre la versión de awn
pkg-config --modversion awn
0.2.1

Y compilamos:

cd awn-extras/awn-applets/awn-extras-applets
./autogen.s
h
make sudo make install

Es recomendable reiniciar el awn para que los applets funcionen...
Aparentemente hay un error con los applets de python y se debe enlazar la ruta donde se encuentra el módulo de awn para que dichos applets funcionen correctamente...

sudo ln -s /usr/local/lib/python2.5/site-packages/awn /usr/lib/python2.5/site-packages/awn

Nota: Si se desea utilizar el applet de gmail, se debe descargar la librería desde http://libgmail.sourceforge.net/