martes, junio 14, 2005

Webcam con clientes de MSN Messenger

Las pijaditas siempre dan vidilla, y el poder ver a mi colega PeZeta que está al otro lado del charco siempre siente bien. Comentando en #debian-es de los servidores debian, me dicen que al menos la última versión (0.95) del amsn (Alvaro's Messegner) admite videoconferencia con clientes de MSN Messenger. Además, compila no hace falta tener paquetes de la distribución en desarrollo.. ¡una ganga!

También se comenta que gaim-vv permite videoconferencia, pero creo recordar que era sólo con yahoo.

En la página oficial de aMSN figura hasta la 0.94, así que me pasan el enlace, que no es más que la versión CVS. Descargo, y trato de ejecutar (viene con un binario). Error. En los ficheros de ayuda se comenta que me hace falta tcl y tk. Bien. Instalo ambos, incluida la versión de desarrollo por si quiero compilar.

Compilo y ejecuto. Funciona.

Jugando con él, experimentaba culegues aleatorios, muy molestos, sabía que usaba una versión de desarrollo, pero aquello era un desfase. Buscando mucho, econtré la página de problemas conocidos del wiki de amsn. En ella comentan:
Description: Some people is experimenting random hangs when using AMSN on Debian and Linux Kernel 2.6 It looks like the problem is caused because of the new threads model in the 2.6 kernel.

Workaround: You can stick to kernel 2.4 until this is fixed, probably not in the kernel, but in AMSN or in the new versions of the Tcl interpreter. We're working with the tcl/tk team to have this fixed.

It looks like these hangs only happen with Linux Debian using Kernel 2.6 and TCL 8.4, so downgrading to TCL 8.3 fixes this.

Also, you can download tcl/tk 8.4 sources from http://tcl.sourceforge.net, and build them yourself, making sure you DON'T enable the --enable-threads option when running the configure script. Without this option, amsn will run just fine.

Another possible solution is to launch amsn with:

export LD_ASSUME_KERNEL=2.2.5 && msn/amsn

to tell the dinamic linker to use the old thread model.
Así, por el momento lo ejecuto con el comando export LD_ASSUME_KERNEL=2.2.5 && amsn. Mientras me he entretenido bajandome unas pieles y echando un vistazo a la página web del amsn.

Mi cámara. Reviso mis envíos...vaya, debía de haber explicitado más, no queda claro como lo hice. Bueno, son necesarios dos módulos, videodev y spca5xx para que funcione.
modprobe videodev
modprobe spca5xx
El primero va fino, pero el segundo parece que no lo encuentra. Lógico, pués al haber recompilado el kernel los módulos adiconales que he añadido yo los tengo que volver a compilar. No estaría de más hacerse un script que los compilase junto al kernel. Basta con ir a /usr/src/modules/spca5xx-20050407/ y hacer make clean, make y make install.

Sólo queda probarla después de cargar el módulo de la cámara y probarla con spcaview. A la primera lo probé como root, se pusó en pantalla completa y no salió de ahí, se me colgó. Mientras arreglaba el desaguisado mi único contacto conectado se ha ido a dormir. No lo puedo probar, tendré que esperar a mañana.

Notas sobre posibles bugs:
Casca si se abre el programa con la cámara concetada y encendida como webcam.
No abre me abre un fichero como avatar, sospecho que por que lleva ñ. Quito la ñ y ya va.