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:
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
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
Eso viene perfecto para mi negocio.
Emplear Motion así es incomodo, es mucho más cómodo y sencillo emplear ZoneMinder.
http://www.zoneminder.com/
Saludos
Podrías haber disimulado el desorden..;)
Hola, ¿alguíen conoce algun script o manera de darle seguridad a motion? lo digo porque el puerto queda abierto así sin más.
cuantas webcam puedo conectar ? con este programa
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!!
Si lo tienes como demonio debes reiniciarlo, aunque a mi me dió mejor resultado reiniciar el sistema.