[Jde-dev] módulo vloopback

Roberto Calvo rocapal en libresoft.es
Dom Feb 21 20:17:27 CET 2010


Buenas,

Buscando alguna solución para poder multiplexar la salida de vídeo de
las webcams, he encontrado el módulo vloopback. Hasta el kernel 2.6.32
no es módulo oficial de Linux y lo mantiene la gente de motion
(aplicación libre de videovigilancia: detecta movimiento).

El caso es que el módulo te permite crear pipes de dispositivos de vídeo
(uno de entrada y otro de salida), y lo mejor de todo es que permite
acceder a varios procesos simultáneamente al dispositivo. 

El funcionamiento es sencillo, cargas el módulo:

[vloopback_init] : video4linux loopback driver v1.4-trunk
[vloopback_init] : Loopback 0 registered, input: video1, output: video2
[vloopback_init] : Loopback 0 , Using 2 buffers

Lo que ha hecho es crear /dev/video1 y /dev/video2. Todo el flujo que
metas en video1, se va a video2 automáticamente. Y lo mejor de todo es
que video2 no es bloqueante, pueden acceder tantos procesos como
quieras. En /dev/video0 está la webcam física, por tanto sólo es
necesario correr un proceso que copie la salida de /dev/video0
a /dev/video1 (viene en las fuentes del módulo, pero solo para v4l). El
consumo de CPU de este programita viene a ser de un 5-8% de CPU.

¿Y todo esto qué nos permite? Conectar infinitos procesos, programas,
aplicaciones a /dev/video2 para obtener el flujo de datos de la cámara.
Por ejemplo, he tenido conectado 2 xawtv, 1 ffmpeg grabando un vídeo y 1
mplayer reproduciendo la webcam, mola!

Además tiene más aplicaciones, por ejemplo se puede crear 2 pipes,
video1->video2 y video3->video4, y hacer que video2 de la imagen a
640x480 y video4 a 320x240 (por ejemplo).

La única pega (por poner algo), es que el programita que pasa el flujo
de /dev/video0 a /dev/video1, está hecho para v4l y funciona por ejemplo
con una webcam philips antigua, pero no con las logitech (uvcvideo está
en v4l2). La solución es portarlo a v4l2, y es factible porque son pocas
líneas (de hecho, en ello estoy).

¿Qué os parece como solución a meter en la infraestructura de JDEROBOT?

-- 
Roberto Calvo Palomino          | Libre Software Engineering Lab (GSyC)
Tel: (+34) 91 488 85 23         | Universidad Rey Juan Carlos
rocapal en libresoft.es            | Edif. Departamental II - Despacho 116
http://libresoft.es/            | c/Tulipán s/n 28933 Móstoles (Madrid)

GPG-KEY: http://gsyc.es/~rocapal/rocapal.gpg
------------ próxima parte ------------
Se ha borrado un mensaje que no está en formato texto plano...
Nombre     : no disponible
Tipo       : application/pgp-signature
Tamaño     : 198 bytes
Descripción: Esta parte del mensaje =?ISO-8859-1?Q?est=E1?= firmada
 digitalmente
Url        : http://gsyc.escet.urjc.es/pipermail/jde-developers/attachments/20100221/bf800b39/attachment.pgp 


More information about the Jde-developers mailing list