enchufado
   RSS
#
Creative Live! Cam Sync + motion en la Raspberry Pi (GNU/Linux) 2013-02-03 23:27:05

Antes de nada, comentar que el cometido de este post no es el enseñar la configuración/parametrización de motion, sino cómo echar a andar ésta webcam con motion en la Raspberry Pi. Y también que ésta cámara reza ser plug&play incluso con GNU/Linux. Con Debian testing he podido comprobar que así es, incluso con motion. Pero la Raspberry Pi ya es un bicho de otra especie.

¿Qué es lo que pasa? Que por algún motivo, la combinación de motion + la Raspberry Pi + la webcam Creative Live! Cam Sync no acaba de funcionar, y motion captura imágenes corruptas (partes de la misma desplazadas/desordenadas). Con esto, el cálculo del movimiento se vuelve, literalmente, loco, y detecta movimiento constantemente cuando no lo hay. En definitiva, resulta inusable.

¿Cómo solventamos la papeleta? Después de historias varias probando combinaciones varias de motion e incluso recompilando algún que otro paquete como libpjeg con retoques de código, ya tengo andando la Creative Live! Cam Sync (una webcam bastante barata) + motion en la Raspberry Pi. Éstos son los pasos seguidos:

Paso 1: mjpg_streamer

# Instalamos los paquetes necesarios:
apt-get install subversion libv4l-dev libjpeg8-dev imagemagick checkinstall
# Bajamos mjpg-streamer de subversion, lo compilamos...
cd /usr/src/
svn co https://mjpg-streamer.svn.sourceforge.net/svnroot/mjpg-streamer mjpg-streamer
cd mjpg-streamer/mjpg-streamer
make USE_LIBV4L2=true clean all
# ... y creamos un paquete Raspbian para facilitar su manejo:
checkinstall
# Comprobaremos que se instaló:
dpkg -l | grep mjpg
ls -lh /usr/src/mjpg-streamer/mjpg-streamer/mjpg_20130203-1_armhf.deb
# Y probamos que mjpg-streamer funcione especificando paths absolutos
# hacia los plugins...
mjpg_streamer -i "/usr/local/lib/input_uvc.so -d /dev/video0 -r 352x288 -f 5" -o "/usr/local/lib/output_http.so -p 8090 -w /var/www/mjpg_streamer"
# ... o con paths relativos añadiendo la ruta al LD_LIBRARY_PATH:
export LD_LIBRARY_PATH=/usr/local/lib; mjpg_streamer -i "input_uvc.so -d /dev/video0 -r 352x288 -f 5" -o "output_http.so -p 8090 -w /var/www/mjpg_streamer"

Una vez lanzado mjpg_streamer, tenemos 2 URL's a través de las cuales podemos comprobar el funcionamiento:

  1. Visualizar la salida del stream: http://localhost:8080/?action=stream
  2. Tomar capturas del mismo: http://localhost:8080/?action=snapshot

Las resoluciones que he conseguido usar con ésta webcam en mjpg-streamer són 320x240 y 352x288, a pesar de que en teoría soporta 640x480.

Paso 2: motion

# Instalamos motion y lo configuramos:
apt-get install motion
vi /etc/motion/motion.cnf
netcam_url "http://localhost:8090/?action=snapshot"
# Lo lanzamos en modo interactivo para ver qué nos cuenta:
motion -n

En definitiva, lo que hemos hecho es usar una aplicación de streaming (mjpg_streamer) para la captura de imágenes, y que motion coja eso como la entrada para calcular los deltas con el threshold definido.

Referencias:

Todo esto no hubiera sido posible sin estas referencias en los foros de Raspberry Pi:

  1. http://www.raspberrypi.org/phpBB3/viewtopic.php?f=28&t=27186&p=276985
  2. http://www.raspberrypi.org/phpBB3/viewtopic.php?f=30&t=8659&p=164539&hilit=mjpeg+streamer#p164539

Comentarios (2)


Volver al indice

login, admin, form, register