[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