Tu webcam como sistema de seguridad para detectar intrusos

Introducción

Hoy en día, la mayoría de los que disponemos de un ordenador, también tenemos webcam, entre otras cosas por la bajada de precios de las mismas, eso si, dependiendo de la calidad que quieras obtener de las mismas. Cualquier «chisme» que podamos conectar a nuestra máquina con Ubuntu, nos deparará grandes sorpresas, puesto que además de hacer lo que se espera que tiene que hacer, nos permitirá hacer otras muchas tropelías, sino solo tienes que ver la cantidad de aplicaciones que le han encontrado a Kinect.

Uno de los «chismes», que podemos conectar es precisamente una webcam, y la «utilidad» que le podemos dar es la de cámara de seguridad. Es decir, podemos utilizar nuestra webcam, para que en caso de que se produzca un movimiento, esta lo grabe. Si además hacemos uso de Dropbox, tenemos un sistema de vigilancia perfecto, puesto que en caso de que se produzca cualquier movimiento, se grabarán imágenes y vídeo, del instante en que se produce, y podremos consultarlo en cualquier otro equipo. No solo se detecta movimiento, sino que si produce un cambio entre imágenes este también se grabará, por ejemplo, si encienden una lámpara:

camera-1-01-20110814200806-03-motion

Con esto tendrás que tener cuidado, puesto que si te dejas las persianas abiertas, cada vez que amanezca o anochezca, te encontrarás con que te grabará todo el proceso.

Motion

El eje central de todo esta operación es Motion, una aplicación que monitoriza la señal de vídeo de las cámaras, y es capaz de detectar, si una parte significativa de la imagen ha cambiado. Esto me ha llamado la atención, porque al realizar las pruebas, y por ejemplo encender la luz, ha comenzado a grabar, al igual que ha capturado imágenes de la sombra que se producía cuando pasaba por la puerta del estudio, una vez yo había pasado. Puedes ver algunas curiosidades, sobre usos que se le han dado a Motion, para que veas a que me refiero en esta página.

Instalación

Motion se encuentra en los repositorios de Ubuntu, con lo que puedes instalarlo haciendo clic en Motion, o desde el terminal:

sudo apt-get install motion

Configuración

La configuración no es nada compleja, simplemente seguir unos pocos pasos y en seguida tendrás todo en funcionamiento. Lo primero es copiar la configuración que viene por defecto:

cd ~
mkdir .motion
sudo cp /etc/motion/motion.conf .motion/
cd .motion
sudo chown atareao:atareao motion.conf

en tu caso tendrás que utilizar tu nombre de usuario, en lugar de «atareao», claro. Una vez ya tenemos nuestra copia de motion.conf, la editaremos con gedit, y sustituiremos los parámetros principales:

La cámara que empleamos para grabar

Si tienes varias cámaras, es necesario definir la que utilizarás:

# Videodevice to be used for capturing (default /dev/video0)
# for FreeBSD default is /dev/bktr0
videodevice /dev/video0

Dimensiones

Tienes que definir las dimensiones de la imagen que vas a capturar, ya que las que vienen por defecto dejan mucho que desear. Ten en cuenta que deberás modificar tanto el ancho como el alto, de lo contrario, utilizará las que tiene por defecto. Estos parámetros dependen de las características de tu cámara.

# Image width (pixels). Valid range: Camera dependent, default: 352
width 1280
# Image height (pixels). Valid range: Camera dependent, default: 288
height 960

Número de imágenes por segundo

Otro parámetro a modificar es el número de imágenes que se capturan por segundo. Mi recomendación es 10 que ya tienes una buena idea de lo que sucede. Pero como de costumbre, cuanto más azúcar mas dulce.

# Maximum number of frames to be captured per second.
# Valid range: 2-100. Default: 100 (almost no limit).
framerate 10

La codificación del vídeo

Esto no tiene gran importancia, mas que nada, dependerá de donde quieras ver el vídeo que se grabe, de los codecs disponibles, etc.

# Codec to used by ffmpeg for the video compression.
# Timelapse mpegs are always made in mpeg1 format independent from this option.
# Supported formats are: mpeg1 (ffmpeg-0.4.8 only), mpeg4 (default), and msmpeg4.
# mpeg1 - gives you files with extension .mpg
# mpeg4 or msmpeg4 - gives you files with extension .avi
# msmpeg4 is recommended for use with Windows Media Player because
# it requires no installation of codec on the Windows client.
# swf - gives you a flash film with extension .swf
# flv - gives you a flash video with extension .flv
# ffv1 - FF video codec 1 for Lossless Encoding ( experimental )
# mov - QuickTime ( testing )
ffmpeg_video_codec mpeg4

Identificación del movimiento

Realmente, no identificas el movimiento, sino que identificas que es lo que ha cambiado en la imagen. Configurando esta opción como activada, en la imagen aparecerá un rectángulo enmarcando aquello que se ha visto modificado en la imagen:

# Locate and draw a box around the moving object.
# Valid values: on, off and preview (default: off)
# Set to 'preview' will only draw a box in preview_shot pictures.
locate on

camera-1-01-20110814200810-04-motion

Donde guardar las grabaciones

Aquí es donde está la gracia de este asunto. Se trata de guardar las imágenes para que estén disponibles desde donde te encuentres, por esto es la opción de utilizar Dropbox como sistema de almacenaje. Evidentemente también puedes emplear Ubuntu One, que ahora con los 5 GB que tienes disponibles, es posible que sea una mejor y más interesante opción.

# Target base directory for pictures and films
# Recommended to use absolute path. (Default: current working directory)
target_dir /home/atareao/Dropbox/motion/

# File path for snapshots (jpeg or ppm) relative to target_dir
# Default: %v-%Y%m%d%H%M%S-snapshot
# Default value is equivalent to legacy oldlayout option
# For Motion 3.0 compatible mode choose: %Y/%m/%d/%H/%M/%S-snapshot
# File extension .jpg or .ppm is automatically added so do not include this.
# Note: A symbolic link called lastsnap.jpg created in the target_dir will always
# point to the latest snapshot, unless snapshot_filename is exactly 'lastsnap'
snapshot_filename %Y%m%d/camera-%t/snapshots/hour-%H/camera-%t-%v-%Y%m%d%H%M%S-snapshot

# File path for motion triggered images (jpeg or ppm) relative to target_dir
# Default: %v-%Y%m%d%H%M%S-%q
# Default value is equivalent to legacy oldlayout option
# For Motion 3.0 compatible mode choose: %Y/%m/%d/%H/%M/%S-%q
# File extension .jpg or .ppm is automatically added so do not include this
# Set to 'preview' together with best-preview feature enables special naming
# convention for preview shots. See motion guide for details
jpeg_filename %Y%m%d/camera-%t/motions/hour-%H/camera-%t-%v-%Y%m%d%H%M%S-%q-motion

# File path for motion triggered ffmpeg films (mpeg) relative to target_dir
# Default: %v-%Y%m%d%H%M%S
# Default value is equivalent to legacy oldlayout option
# For Motion 3.0 compatible mode choose: %Y/%m/%d/%H%M%S
# File extension .mpg or .avi is automatically added so do not include this
# This option was previously called ffmpeg_filename
movie_filename %Y%m%d/camera-%t/movies/hour-%H/camera-%t-%v-%Y%m%d%H%M%S-movie

# File path for timelapse mpegs relative to target_dir
# Default: %Y%m%d-timelapse
# Default value is near equivalent to legacy oldlayout option
# For Motion 3.0 compatible mode choose: %Y/%m/%d-timelapse
# File extension .mpg is automatically added so do not include this
timelapse_filename %Y%m%d/camera-%t/timelapses/hour-%H/camera-%t-%Y%m%d-timelapse

Esta es la configuración básica para poner en marcha este sistema. Se puede hacer una configuración mucho más detallada, pero con estos pasos básicos ya puedes empezar a funcionar.

Conclusiones

Se trata de una primera aproximación, pero a mi me ha despertado mucha curiosidad, por ahora no tengo ni idea de para que puedo utilizarlo, pero guardo la idea y ya veremos…

Recuerda que tienes que cambiar «target_dir» (en la tercera línea), para que se adapte a tus necesidades
Vía | Chris Page, YouTube
Más información | Motion

7 comentarios en “Tu webcam como sistema de seguridad para detectar intrusos

  1. JS
    JSev hace 13 años

    Hola, ¿alguíen conoce algun script o manera de darle seguridad a motion?  lo digo porque el puerto queda abierto así sin más.

  2. AN
    anonimomex hace 10 años

    cuantas webcam puedo conectar ? con este programa

  3. AL
    Ale hace 10 años

    Hola a pesar de los cambios en el directorio para guardar las imágenes, lo sigue guardando en /tmp/motion/
    Yo cambié el motion.conf a

    # Target base directory for pictures and films
    # Recommended to use absolute path. (Default: current working directory)
    target_dir /home/renata/Dropbox/SeguridadRenata

    Luego tengo problemas configurando el TinyCam, en qué IP y puerto lo configuro.

    Gracias por tus aportes!!

    1. NO
      Nosferatus hace 1 año

      Si lo tienes como demonio debes reiniciarlo, aunque a mi me dió mejor resultado reiniciar el sistema.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *