Delirios de un Informático

Tu móvil como webcam en Linux sólo con software libre

Hay múltiples soluciones para realizar esto, pero no había encontrado nada realmente funcionale y libre para Linux. Ayer me topé con SmartCam, un proyecto que provee un software para el teléfono (bien Symbian, bien Java) que hace de servidor y un cliente para Linux que se encarga de recibir la imagen.

El software para Linux consta de dos partes: un módulo para el núcleo y un software basado en GTK que permite la conexión con el teléfono via Bluetooth y muestra la imagen.

El primer paso es compilar el módulo:

sudo apt-get install libbluetooth-dev
cd smartcam/src/driver
make -C /lib/modules/`uname -r`/build M=`pwd` modules

Esto creará el archivo smartcam.ko que puede cargarse con el comando insmod. Luego, es necesario compilar el cliente:

sudo apt-get install libgtk-2.0-dev
cd smartcam/src/app
gcc `pkg-config --cflags --libs gtk+-2.0 gthread-2.0` -lbluetooth smartcam.c -o smartcam

Se creará el archivo smartcam que al ejecutarlo abrirá una ventana donde podremos ver la imagen una vez conectado el teléfono. Con este programa abierto, se realizará la conexión desde el teléfono y tendremos disponible la cámara web en el correspondiente /dev/videoX.

Logitech Quickcam en Debian

Hace unos días me compré una pequeña webcam de Logitech, la Quickcam Messenger. Antes había comprobado la compatibilidad con Linux y parecía funcionar sin problema.

Preparándome para instalar paquetes dev y compilar módulos, descubrí que hacer funcionar en Debian cualquiera de las cámaras soportadas por el controlador gspca es de lo más sencillo:

sudo apt-get install gspca-modules-`uname -r`

¿Para qué complicarse más?. Podemos ver si se carga correctamente viendo el syslog al enchufarla:

usb 2-2: new full speed USB device using uhci_hcd and address 2
usb 2-2: configuration #1 chosen from 1 choice
gspca_core.c: USB GSPCA camera found.(ZC3XX)
gspca_core.c: [spca5xx_probe:4098] Camera type JPEG
Vimicro/zc3xx.h: [zc3xx_config:515] Sensor ID:7
Vimicro/zc3xx.h: [zc3xx_config:597] Find Sensor HV7131R(c)
gspca_core.c: [spca5xx_getcapability:1215] maxw 640 maxh 480 minw 176 minh 144
usbcore: registered new interface driver gspca
gspca_core.c: gspca driver 2.6.22 registered
usbcore: registered new interface driver snd-usb-audio

Se creará el dispositivo /dev/video0 ( video1 o mayor si ya tenéis otros dispositivos de video configurados ), que podremos visualizar con mplayer:

mplayer tv:// -tv driver=v4l:width=640:height=480evice=/dev/video1:noaudio

NOTA: Para detectar el código del producto es necesario hacer lsusb como root, ya que si no no aparecerá listada la cámara.