martes, 3 de junio de 2008

Control remoto bajo Linux

Bueno, hacia mucho que no escribía nada, pero acabo de hacer funcionar el modulo lirc-gpio con un kernel 2.6.24 y como estoy tan feliz, voy a compartirlo aqui :-D

Si tenés una capturadora de TV, usás el modulo bttv para usarla, tiene receptor infrarrojo y tenes un kernel 2.6.24, aca están los pasos para poder hacer funcionar Lirc y poder disfrutar del control remoto de la misma.

Como primera medida, debemos saber si la placa está soportada... para eso este link, es muy útil.

en caso de estar soportada, hay que compilar el modulo de lirc, pero antes, hay que aplicar un patch al kernel, dado que, en la versión 2.6.24 hay algunos cambios en bttv con los cuales lirc no compila.

para esto, bajamos el patch de aca (pueden darle click derecho al archivo y "Guardar como" o una vez que entren al link, guardar la pagina como "lirc-bttv-linux-2.6.24.patch"

Bueno, lo que va a hacer este patch, es meterle vieja funcionalidad a bttv para poder compilar lirc... ahora, *solo* hacer esto, basta para compilarlo, pero cuando lo querramos usar, nos va a dar errores, dado que el driver que tenemos instalado está compilado sin este patch.

Ok, basta de charlas y vamos a la acción:

nota: yo utilizo Debian, así que es probable que en otras distros los paquetes se llamen distinto

primero lo primero, instalar:
apt-get install lirc lirc-modules-source linux-headers-$(uname -r) kernel-package

También vamos a nacesitar las fuentes del kernel, en mi caso:
apt-get install linux-source-2.6.24

Ahora lo que tenemos que hacer es ir a /usr/src y descomprimir las fuentes
tar xjvf linux-source-2.6.24.tar.bz2
tar xzvf lirc-modules.tar.gz
en mi caso, las fuentes de bttv no venían con los headers, así que hay que copiar los archivos a mano desde las fuentes:
cp -R linux-source-2.6.24/drivers/media/video/bt8xx/bt* linux-headers-2.6.24-1-common/drivers/media/video/bt8xx/

los archivos que "patchea" son bttv.h y bttv-if.c, estos archivos son parte de lo que acabamos de copiar, con lo cual copiamos el archivo patch (que bajamos anteriormente) a /usr/src y ejecutamos lo siguiente:
patch -p0 < lirc-bttv-linux-2.6.24.patch

nos va a preguntar la ubicacion de los archivos, primero el bttv.h y luego el bttv-if.c, así que se las pasamos:
linux-headers-2.6.24-1-common/drivers/media/video/bt8xx/bttv.h linux-headers-2.6.24-1-common/drivers/media/video/bt8xx/bttv-if.c

si todo fue bien, debería haber terminado sin error.
Ahora, como dije antes, tenemos que compilar bttv nuevamente, para tener estos nuevos cambios... Para esto:
cd linux-source-2.6.24/drivers/media/video/bt8xx/
make -C /lib/modules/`uname -r`/build SUBDIRS=$PWD modules
make -C /lib/modules/`uname -r`/build SUBDIRS=$PWD modules_install
depmod -a

Luego de hacer eso (sin errores) vamos a tener nuestro nuevo modulo de bttv listo para cargar. En caso de tenerlo cargado de antes hacemos:
rmmod bt878
rmmod bttv
modprobe bt878
modprobe bttv

y listo, nuestro modulo patcheado debería estar cargado. Pueden fijarse en 'dmesg' o en 'lsmod |grep bttv'
y ahora por ultimo lo que queda es compilar el modulo de Lirc, para eso, volvemos a /usr/src y hacemos lo siguiente:
m-a update,prepare
dpkg-reconfigure lirc-modules-source

una vez que guardamos, ejecutamos:
m-a a-i lirc
dpkg -i /usr/src/lirc-modules-*.deb

y por último cargamos el modulo haciendo:
modprobe lirc-gpio
Si todo fue bien, el modulo deberia haberse cargado sin errores... pueden comprobarlo ejecutando 'dmesg' nuevamente, deberían ver algo como: lirc_gpio (0): driver registered

muy bien, una vez terminado todo, pueden probar si anda usando mode2
mode2 -d /dev/lirc0
Cuando ejecuten eso, deberían ver cosas en la pantalla a medida que aprietan diferentes botones en el control remoto... en caso negativo, entonces algo no estuvo bien y le modulo no esta funcionando correctamente.

En caso de recibir señales, es hora de hacer un archivo lircd.conf con la informacion de su control:
irrecord -d /dev/lirc0 lircd.conf
Una vez que terminaron de grabar los botones, copian el archivo generado (lircd.conf) y pisan el que se encuentra en /etc/lirc/ con el mismo nombre.
Una vez hecho esto, pueden correr 'lircd -n -d /dev/lirc0' para ver si se carga sin problemas. Si les dice que está listo, pueden probar en otra consola, ejecutando 'irw' y oprimir teclas del control... deberian ver el nombre que le pusieron en el lircd.conf.

Bueno, si hasta aca no tuvieron problemas, es hora de cargar el daemon y disfrutar del control :-D

para esto ejecutan /etc/lirc start

y luego usan cosas como irkick (esto es para KDE, no conozco si viene algo similar para gnome, pero calculo que debe venir, y para los otros escritorios tambien) para configurar las aplicaciones.

Y bueno, eso es todo.

Espero que les haya servido, cualquier cosa dejen un comentario con algún problema y lo intentamos resolver ;-)

hasta la proxima.

lunes, 14 de abril de 2008

Creando un DVD con fotos

Bueno, al final en la presentacion dije los temas sobre los que iba a hablar en las sucesivas "entradas" de este blog, y bueno, esta no tiene nada que ver con nada de lo que nombre :-P

Hace un tiempo quería hacer una peliculita usando fotos y con musica de fondo.... para esto intenté usar el increiblemente versatil mencoder(herramienta de la cual seguro voy a hablar en algun otro post), y, a pesar de haber podido crear un archivo con imagenes que iban pasando como yo quería, tenia algunos problemitas... digamos, la idea de mencoder cuando se usa para hacer una pelicula basado en muchas imagenes, es la idea de las caricaturas.... uno tiene muchas imagenes que varian muy poco, entonces puede hacer el efecto de movimiento, con lo cual no se adecuaba exactamente para lo que yo queria...

resulta que hace un par de dias, una persona envió un mail a la lista de correo de los usuarios de mencoder (si, estoy suscripto :-P) preguntando, porque mencoder le tiraba error cuando intentaba hacer lo de muchas imagenes para hacer un video... a lo que yo le respondi dado que habia renegado un poco y tenia una idea de como hacerlo, y aproveché para comentarle lo que quería hacer y que si el lograba algo por el estilo me tirara la linea que usó, fue entonces cuando recibi respuesta de otro usuario de la lista diciendome, ¿por que no usas 'dvdslideshow'? y ahi descubri este particular software, de lo cual vengo a hablarles.

Para empezar, no lo encontré, dado que su nombre (por lo menos en Debian) no es dvdslideshow sino dvd-slideshow. je

asi que lo primero que hay que hacer es:

aptitude install dvd-slideshow
Bien... esto nos instala el paquete dvd-slideshow con todas sus herramientas.
El proceso para hacer esto es un tanto tedioso, en el sentido que hay que hacer varios "pasos"
Primero utilizamos el programita dir2slideshow
si ejecutan el comando asi solito, les va a tirar las opciones de uso.
Para hacer una prueba rapida, pueden pararse sobre el directorio donde tengan las fotos y ejecutar:
dir2slideshow -o dvd/ -c 2 -n 'Prueba de fotos' -k -a audio.mp3 -p .
basicamente con el parametro "-o" le decimos a que directorio hacer el output, con "-c" le decimos el tiempo en segundos del crossfade entre fotos, luego con "-n" le damos el titulo, con -k que le haga efectos Ken Burns[1] aleatorios, con "-a" le damos uno o varios archivos de audio (si quisieran que cuando termine audio.mp3 empiece audio2.mp3, entonces deben usar -a audio.mp3,audio2.mp3 y en el caso de tener espacios en el nombre, usar el formato que se uso en -n, es decir, usar comillas), luego con "-p" le decimos que queremos PAL en lugar de NTSC, y por ultimo el "." es para decirle que las imagenes estan donde estamos parados... hay unos cuantos comandos mas, que pueden verlos en la ayuda del programa... bueno, una vez que termina, nos va a decir algo como:
#########################################
[dir2slideshow] Done!
[dir2slideshow] Output file is dvd/Prueba_de_fotos.txt
genial, ya tenemos nuestro archivo para darle a dvd-slideshow y hacer el archivo de pelicula con las fotos.
Asi que ejecutamos dvd-slideshow, el cual tambien tiene sus comandos, en caso que querramos agregar alguna cosita extra:

dvd-slideshow -o dvd/ -b 100_1355.JPG -border 10 -r -smp -f dvd/Prueba_de_fotos.txt
bien, como en el comando anterior, con "-o" le decimos a donde meter los resultados, con "-b" le decimos que queremos que esa imagen en particular sea nuestro background (si no le ponen nada se verá un fondo negro), con "-border 10" le damos un borde a todas las fotos (de 10 pixeles), con "-r" le decimos que auto recorte las fotos para hacerlas entrar, con "-f" le decimos el nombre del archivo input que creamos anteriormente con dir2slideshow. El parametro "-smp" nos permite, si tenemos un procesador de doble nucleo, hacer uso de ambos nucleos para disminuir el tiempo que demora en hacerse todo el slideshow, que si usan efectos, crossfade, etc y son muchas fotos, puede demorarse un tiempo...
Muy bien, una vez que termina, vamos a tener un output como el siguiente:

[dvd-slideshow]############################################################
[dvd-slideshow] total chapters=5
[dvd-slideshow] chapter markers at 0,0:0:15.015,0:0:31.998,0:0:43.009,0:0:48.014
[dvd-slideshow]############################################################
[dvd-slideshow] cleanup...
[dvd-slideshow] More extensive logfile output is at:
[dvd-slideshow] dvd/dvd-slideshow.log
[dvd-slideshow] Done!

[dvd-slideshow] use one of the following comands to view your output:
[dvd-slideshow] xine -g -u 0 "dvd/Prueba_de_fotos.vob"
[dvd-slideshow] mplayer -sid 0 "dvd/Prueba_de_fotos.vob"
y dentro de la carpeta dvd, vamos a tener un archivo de pelicula, que podemos ver ejecutando alguno de los comandos que nos propone.

Este proceso lo repetimos por todos los slideshows que querramos hacer, luego con un software de autoria de DVD's juntamos todos estos archivos y hacemos un DVD con menúes y todo.

Hay uno muy intuitivo y facil de usar, que utiliza la tecnica "dale siguiente y yo hago todo por vos" que se llama "KDE DVD Authoring Wizard" (aptitude install dvdauthorwizard) que les puede venir al pelo.

En fin, como verán, con 2 comandos, pudimos hacernos un DVD con un acabado bastante similar a lo que un profesional puede hacer, claro que infinitamente mas barato (y bueh, no TAN bien terminado, jeje) pero si saben utilizar algun editor de video, pueden retocar un poco cada slideshow y dejarlas un poco mejor, pero para quienes lo queremos para hacerle algun regalito a la novia nos alcanza y nos sobra :-P

Bien, espero que les haya servido, y si quieren leer un poco mas, aca esta la wiki del proyecto donde hay un poco de informacion mas avanzada y detallada[2].

Saludos,
Franco


[1] - http://es.wikipedia.org/wiki/Ken_Burns
[2] - http://dvd-slideshow.sourceforge.net/wiki/Main_Page

viernes, 28 de marzo de 2008

Primera Entrada

Bueno, bienvenido frapell al mundo de los blogs.... siempre me resisti, por no se... despues de leer las b****** que escriben algunas personas dije "yo no voy a ser uno de esos..." pero bueh, aqui estoy. Es mi primer post, y la idea va a ser meter aqui cosas relacionadas a mis intereses, los cualen el 95% rondan al rededor de estar frente al monitor, asi que van a ver cosas de Plone, Blender, Panda3D, Zope, Python, C, Assembly, etc, etc, etc

por el momento no creo que sean entradas frecuentes, veremos que pasa en un futuro...

por lo pronto, "hola :-D"