31 jul 2007

Motion: Protégete con una cámara web y detección de movimiento

Me quito el sombrero ante este estupendo programa para linux; escrito en parte por Jeroen Vreeken y Kenneth Jahn Lavrsen.
Entre sus interesantes características están las siguientes:
  • Motion es un demonio que utiliza poca CPU y poca memoria y disco duro al utilizar los más avanzados sistemas de compresión y lenguaje C
  • Toma de fotografías al haber movimiento
  • Capturar de múltiples fuentes al mismo tiempo
  • Ver múltiples capturas en una tarjeta capturadora al mismo tiempo que se captura
  • Webcam de emisión por red en vivo (usando multipart/x-mixed-replace)
  • Creación en tiempo Real de películas mpeg utilizando las librerías del proyecto ffmpeg
  • Tomar fotografías a intervalos regulares
  • Tomar fotografías automáticas a intervalos irregulares usando cron
  • Ejecutar comandos externos cuando se detecte movimiento (por ej. enviar SMS o email)
  • Seguimiento de movimiento (cámara de seguimiento - requiere hardware especial)
  • Alimenta eventos a base de datos MySQL o PostgreSQL
  • Retroalimentación del vídeo a video4linux para visión en tiempo real
  • Varios proyectos de usuario relacionados con interfaces web, etc
  • Ventana en pantalla configurable por el usuario
  • Control mediante navegador (versiones anteriores utilizaban xml-rpc)
  • Control automático de ruido y sensibilidad

Si alguna vez se os a ocurrido utilizar una barata cámara web para capturar imágenes (bien por seguridad o para subirlas a internet) este programa te irá de perlas. Hace años intenté lo mismo, pero programas como Zoneminder (por la dificultad de configurarlo), o lo limitado de otros me hicieron desistir y buscar en la zona oscura (léase winflows); pero ahí la cosa está peor, los que he visto son de pago y no llegan a la calidad de los de linux (es el poder del código abierto ;-) ).

Es una aplicación de línea de comandos, pero no debemos tenerle miedo pues es muy sencilla de instalar y configurar; editamos un archivo de configuración que reproduzco a continuación y estamos listos para empezar a monitorizar nuestra casa, coche, o lo que sea.

Lo estoy utilizando con una Creative Webcam Instant (resolución real de 352x288 mjpeg) y me quedo sorprendido porque los falsos positivos son nulos, el uso de procesador y la ocupación de disco duro son mínimos, por lo que lo puedo tener corriendo en segundo plano. Es una pena que por la noche no valga para nada. Para eso lo mejor es una de infrarrojos.

Primero, instalar la cámara web
Lo mejor para no tener problemas es tener un sistema actualizado, como Kubuntu Feisty 7.04.
Comprueba que tu cámara está soportada en linux; un tal Michel Xhaard mantiene los controladores para más de 200 cámaras diferentes (con chipsets parecidos); todo un logro teniendo en cuenta lo poco informativos que son los fabricantes de hardware (hay más controladores, busca en google).
Si eres el afortunado de tener una de las comentadas, instalar el controlador es tan sencillo como esto (de la web DiarioLinux):


# apt-get install module-assistant
# apt-get install gspca-source
# m-a prepare (sí, es un comando raro, la abreviatura de module-assistant)
# m-a a-i gspca
# modprobe gspca

Y en caso de que queramos instalar el programa Camorama para probarla:


# apt-get install camorama
# camorama

Tras estos sencillos comandos se nos habrá configurado el módulo del kernel con los controladores para la cámara, y si escribes lsusb seguramente aparezca tu cámara (a mí no me aparecía; puede ser algún error en mi kernel).

En Kde con Kopete podemos comprobar la captura (en configurar kopete, dispositivos) y seleccionar la fuente. En Gnome podemos hacer lo mismo con gnomemeeting.


  • Nota: (En linux, los dispositivos son como flujos de datos contra un archivo, por lo que puedes obtener las imágenes de tu cámara a través de /dev/video{número de dispositivo}. Yo, para saber cuál es mi dispositivo hago un ls /dev/video y le doy a tabulador con lo que me muestra las posibilidades que hay en ese directorio con ese texto (en mi caso el 0 [cero])).
Segundo, preparar el cable
En caso de que la distancia del ordenador a la cámara sea superior a 6 metros (sí, hay cables USB de 6 mts) tendríamos que contruírnoslo nosotros.
Con cable de 4 hilos + malla nos valdría, pues son los que utiliza la webcam, aunque si tenemos 8 + malla también nos vale (y podríamos poner 2 webcams ;-).
Cortamos el cable de la webcam por la mitad y lo empalmamos soldando y aislando uno a uno a cables de los mismos colores (si es posible, para evitar confusiones) al cable protegido que utilizaremos para extender el original.
Es conveniente antes de empalmar pasar el cable primero por el tubo corrugado de las paredes que haya en medio para evitar que se vea (en caso de que sea una instalación para tiempo).
Yo he disimulado la webcam quitándole el envoltorio y dejando los circuitos al aire, para posteriormente aislarlos de la posible humedad cubriéndolo de plástico con una termoencoladora (también vale con silicona pero es más pringoso y tarda más en endurecer). Con esta operación se pierde la garantía, así que cuidado...
Finalmente como la pared donde iba es blanca la he envuelto con cinta aislante blanca dejando sólo el objetivo al descubierto; ha quedado disimulada y muy cuca.
Tercero, Instalar y configurar Motion en Feisty
Descargamos la última versión desde la página de Motion; o instalamos el paquete ya preparado para Feisty de la misma página (recomendado) o bien podemos descargar e instalar desde el código fuente, en el caso de producir algún error consultar la documentación. Ejemplo:


# tar -xvf motion{el número que sea}.tar.gz
# cd
motion{el número que sea}
# ./configure
# make

Opción A:


# sudo make install (si queremos poder desinstalarlo fácilmente después podemos sustituir este comando por los siguientes para instalar una utilidad que crea automáticamente un paquete de la aplicación, lo instala y deja una copia en el directorio actual):

Opción B:


# sudo apt-get install checkinstall (os pedirá la contraseña de usuario)
# sudo checkinstall

Una vez instalado procedemos a editar el archivo de configuración:


# sudo nano /etc/motion/motion.conf (con Ctrol-x salimos; con 's' guardamos)
Podemos ejecutarlo con este comando (se le indica qué archivo utilizar)


# motion -c /etc/motion/motion.conf

Detalles del archivo de configuración (traducido y comentado):
Con esta configuración se captura y monitoriza a video mpeg4 a 10 imágenes
por segundo, sólo movimiento. No se hace uso del resto de posibilidades.
No está totalmente traducido; la traducción final está aqui (pinchar en enlace).




############################################################ # Demonio ############################################################ # Comenzar en modo demonio (en segundo plano) y liberar el terminal # (Por defecto: off) daemon off # Archivo para guardar el ID del proceso; también llamado archivo pid. # (por defecto: no definido) process_id_file /var/run/motion.pid ############################################################ # Modo básico de ajuste ############################################################ # Ejecutar en modo ajuste, demonio desactivado. (Por defecto: off) setup_mode off ########################################################### # Capture device options ############################################################ # Dispositivo de vídeo utilizado para captura (Por defecto /dev/video0) # para FreeBSD por defecto es /dev/bktr0 videodevice /dev/video0 # Tuner device to be used for capturing using tuner as source (default /dev/tuner0) # This is ONLY used for FreeBSD. Leave it commented out for Linux #; tunerdevice /dev/tuner0 # The video input to be used (default: 8) # Should normally be set to 1 for video/TV cards, and 8 for USB cameras input 8 # La norma de vídeo a utilizar (sólo para videocaptura y tarjetas de TV) # Valores: 0 (PAL), 1 (NTSC), 2 (SECAM), 3 (PAL NC sin color). Por defecto: 0 (PAL) norm 0 # The frequency to set the tuner to (kHz) (only for TV tuner cards) (default: 0) frequency 0 # Rotate image this number of degrees. The rotation affects all saved images as # well as mpeg movies. Valid values: 0 (default = no rotation), 90, 180 and 270. rotate 0 # Image width (pixels). Valid range: Camera dependent, default: 352 width 352 # Image height (pixels). Valid range: Camera dependent, default: 288 height 288 # Número máximo de imágenes por segundo a capturar. # Rango válido: 2-100. Por defecto: 0 (casi sin límite). framerate 10 # Minimum time in seconds between capturing picture frames from the camera. # Default: 0 = disabled - the capture rate is given by the camera framerate. # Esta opción se utiliza para capturar a menos de 2 imágenes por segundo. minimum_frame_time 0 # URL to use if you are using a network camera, size will be autodetected (incl http:// ftp:// or file:///) # Must be a URL that returns single jpeg pictures or a raw mjpeg stream. Default: Not defined ; netcam_url value # Username and password for network camera (only if required). Default: not defined # Syntax is user:password ; netcam_userpass value # URL to use for a netcam proxy server, if required, e.g. "http://myproxy". # If a port number other than 80 is needed, use "http://myproxy:1234". # Default: not defined ; netcam_proxy value # Let motion regulate the brightness of a video device (default: off). # The auto_brightness feature uses the brightness option as its target value. # If brightness is zero auto_brightness will adjust to average brightness value 128. # Only recommended for cameras without auto brightness auto_brightness on # Set the initial brightness of a video device. # If auto_brightness is enabled, this value defines the average brightness level # which Motion will try and adjust to. # Valid range 0-255, default 0 = disabled brightness 0 # Set the contrast of a video device. # Valid range 0-255, default 0 = disabled contrast 0 # Set the saturation of a video device. # Valid range 0-255, default 0 = disabled saturation 0 # Set the hue of a video device (NTSC feature). # Valid range 0-255, default 0 = disabled hue 0 ############################################################ # Round Robin (multiple inputs on same video device name) ############################################################ # Number of frames to capture in each roundrobin step (default: 1) roundrobin_frames 1 # Number of frames to skip before each roundrobin step (default: 1) roundrobin_skip 1 # Try to filter out noise generated by roundrobin (default: off) switchfilter off ############################################################ # Motion Detection Settings: ############################################################ # Sensibilidad; indica el número de píxels cambiados en una imagen que # active la grabación del movimiento (Por defecto: 1500) # Con valores más bajos será más sensible al movimiento y viceversa. # Este parámetro es importante no dejarlo muy bajo, ya que con la # siguiente opción se auto ajusta. threshold 750 # Ajustar automáticamente la sensibilidad si es posible (diferencia lo que es ruído # de lo que es movimiento) (Por defecto: off) threshold_tune on # Nivel de ruído para la detección de movimiento (Por defecto: 32) # Las cámaras no son perfectas, recogen la luz de forma aproximada, por lo # que los pixels de la imagen cambiar aunque no haya movimiento. # Además la imagen puede tener movimiento "natural" de hojas, árboles, etc. # Con este parámetro ajustamos el nivel de ruído; a mayor valor mayor ruído # en la imagen. noise_level 32 # Ajustar automáticamente el nivel de ruído (Por defecto: on) # Esta es una opción muy potente, con ella prácticamente eliminamos los falsos # movimientos. noise_tune on # Permite a motion ajustar su nivel de ruído y detección para imágenes muy oscuras # No utilizar si se ha activado el ajuste de ruído. (Por defecto: off) # - No, una webcam no nos permitirá capturar con muy poca luz, y aunque lo # consiguieras las imágenes serían de una calidad pésima por lo que olvídate o # cómprate una cámara de infrarrojos. # Créeme, lo he intentado; si no se ve claramente la imagen no hay nada que hacer, # a pesar de existir esta opción. - night_compensate off # Despeckle motion image using (e)rode or (d)ilate or (l)abel (Default: not defined) # Recommended value is EedDl. Any combination (and number of) of E, e, d, and D is valid. # (l)abeling must only be used once and the 'l' must be the last letter. # Comment out to disable despeckle EedDl # PGM file to use as a sensitivity mask. # Full path name to. (Default: not defined) ; mask_file value # Dynamically create a mask file during operation (default: 0) # Adjust speed of mask changes from 0 (off) to 10 (fast) smart_mask_speed 0 # Ignore sudden massive light intensity changes given as a percentage of the picture # area that changed intensity. Valid range: 0 - 100 , default: 0 = disabled lightswitch 0 # Picture frames must contain motion at least the specified number of frames # in a row before they are detected as true motion. At the default of 1, all # motion is detected. Valid range: 1 to thousands, recommended 1-10 minimum_motion_frames 1 # Specifies the number of pre-captured (buffered) pictures from before motion # was detected that will be output at motion detection. # Recommended range: 0 to 5 (default: 0) # Do not use large values! Large values will cause Motion to skip video frames and # cause unsmooth mpegs. To smooth mpegs use larger values of post_capture instead. pre_capture 0 # Number of frames to capture after motion is no longer detected (default: 0) post_capture 10 # Gap son los segundos durante los cuales queremos que no capture nada (eventos) # Un evento es una serie de imágenes que se capturan de forma seguida; en poco tiempo. # El valor recomendado es 60 (por defecto) si queremos separar cada evento en el tiempo. # Si se establece a 0 se desactiva y todos los eventos se graban y no hay pre-captura. # Nota del traductor: Recomiendo desactivarlo para no perder eventos importantes. gap 0 # Longitud máxima en segundos de una película mpeg # Cuando el valor se supera se crea un nuevo archivo. (Por defecto: 0 = infinito) # 7200 = 2 horas max_mpeg_time 7200 # Número de imágenes por segundo a capturar cuando no se detecta movimiento # (reduce la carga de CPU) (Por defecto: 0 = desactivado) # - Yo utilizo 10 fps; son suficientes para comprobar si hay movimiento - low_cpu 10 # Guardar siempre las imágenes aunque no haya movimiento (por defecto: off) output_all off ############################################################ # Archivo de guardado de imagen ############################################################ # Output 'normal' pictures when motion is detected (default: on) # Valid values: on, off, first, best # When set to 'first', only the first picture of an event is saved. # Picture with most motion of an event is saved when set to 'best'. # Can be used as preview shot for the corresponding movie. output_normal off # Output pictures with only the pixels moving object (ghost images) (default: off) output_motion off # The quality (in percent) to be used by the jpeg compression (default: 75) quality 95 # Output ppm images instead of jpeg (default: off) ppm off ############################################################ # FFMPEG related options # Film (mpeg) file output, and deinterlacing of the video input # The options movie_filename and timelapse_filename are also used # by the ffmpeg feature ############################################################ # Use ffmpeg to encode mpeg movies in realtime (default: off) ffmpeg_cap_new on # Use ffmpeg to make movies with only the pixels moving # object (ghost images) (default: off) ffmpeg_cap_motion off # Use ffmpeg to encode a timelapse movie # Default value 0 = off - else save frame every Nth second ffmpeg_timelapse 0 # The file rollover mode of the timelapse video # Valid values: hourly, daily (default), weekly-sunday, weekly-monday, monthly, manual ffmpeg_timelapse_mode daily # Bitrate to be used by the ffmpeg encoder (default: 400000) # This option is ignored if ffmpeg_variable_bitrate is not 0 (disabled) ffmpeg_bps 500000 # Enables and defines variable bitrate for the ffmpeg encoder. # ffmpeg_bps is ignored if variable bitrate is enabled. # Valid values: 0 (default) = fixed bitrate defined by ffmpeg_bps, # or the range 2 - 31 where 2 means best quality and 31 is worst. ffmpeg_variable_bitrate 2 # 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 - give 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 ffmpeg_video_codec mpeg4 # Use ffmpeg to deinterlace video. Necessary if you use an analog camera # and see horizontal combing on moving objects in video or pictures. # (default: off) ffmpeg_deinterlace off ############################################################ # Snapshots (Traditional Periodic Webcam File Output) ############################################################ # Make automated snapshot every N seconds (default: 0 = disabled) snapshot_interval 0 ############################################################ # Text Display # %Y = year, %m = month, %d = date, # %H = hour, %M = minute, %S = second, %T = HH:MM:SS, # %v = event, %q = frame number, %t = thread (camera) number, # %D = changed pixels, %N = noise level, \n = new line, # %i and %J = width and height of motion area, # %K and %L = X and Y coordinates of motion center # %C = value defined by text_event - do not use with text_event! # You can put quotation marks around the text to allow # leading spaces ############################################################ # 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 off # Draws the timestamp using same options as C function strftime(3) # Default: %Y-%m-%d\n%T = date in ISO format and time in 24 hour clock # Text is placed in lower right corner text_right %Y-%m-%d\n%T-%q # Draw a user defined text on the images using same options as C function strftime(3) # Default: Not defined = no text # Text is placed in lower left corner ; text_left CAMERA %t # Draw the number of changed pixed on the images (default: off) # Will normally be set to off except when you setup and adjust the motion settings # Text is placed in upper right corner text_changes off # This option defines the value of the special event conversion specifier %C # You can use any conversion specifier in this option except %C. Date and time # values are from the timestamp of the first image in the current event. # Default: %Y%m%d%H%M%S # The idea is that %C can be used filenames and text_left/right for creating # a unique identifier for each event. text_event %Y%m%d%H%M%S # Draw characters at twice normal size on images. (default: off) text_double off ############################################################ # Target Directories and filenames For Images And Films # For the options snapshot_, jpeg_, mpeg_ and timelapse_filename # you can use conversion specifiers # %Y = year, %m = month, %d = date, # %H = hour, %M = minute, %S = second, # %v = event, %q = frame number, %t = thread (camera) number, # %D = changed pixels, %N = noise level, # %i and %J = width and height of motion area, # %K and %L = X and Y coordinates of motion center # %C = value defined by text_event # Quotation marks round string are allowed. ############################################################ # Target base directory for pictures and films # Recommended to use absolute path. (Default: current working directory) target_dir /home/david/camara # 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 %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 %v-%Y%m%d%H%M%S-%q # 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 %v-%Y%m%d%H%M%S # 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-timelapse ############################################################ # Live Webcam Server ############################################################ # The mini-http server listens to this port for requests (default: 8081 ; 0= disabled) webcam_port 0 # Quality of the jpeg images produced (default: 50) webcam_quality 50 # Output frames at 1 fps when no motion is detected and increase to the # rate given by webcam_maxrate when motion is detected (default: off) webcam_motion off # Maximum framerate for webcam streams (default: 1) webcam_maxrate 1 # Restrict webcam connections to localhost only (default: on) webcam_localhost on # Limits the number of images per connection (default: 0 = unlimited) # Number can be defined by multiplying actual webcam rate by desired number of seconds # Actual webcam rate is the smallest of the numbers framerate and webcam_maxrate webcam_limit 0 ############################################################ # HTTP Based Control ############################################################ # TCP/IP port for the http server to listen on (default: 8080 = disabled) control_port 0 # Restrict control connections to localhost only (default: on) control_localhost on # Output for http server, select off to choose raw text plain (default: on) control_html_output on # Authentication for the http based control. Syntax username:password # Default: not defined (Disabled) ; control_authentication username:password ############################################################ # Tracking (Pan/Tilt) ############################################################ # Type of tracker (0=none (default), 1=stepper, 2=iomojo, 3=pwc, 4=generic, 5=uvcvideo) # The generic type enables the definition of motion center and motion size to # be used with the conversion specifiers for options like on_motion_detected track_type 0 # Enable auto tracking (default: off) track_auto off # Serial port of motor (default: none) ; track_port value # Motor number for x-axis (default: -1) track_motorx -1 # Motor number for y-axis (default: -1) track_motory -1 # Maximum value on x-axis (default: 0) track_maxx 0 # Maximum value on y-axis (default: 0) track_maxy 0 # ID of an iomojo camera if used (default: 0) track_iomojo_id 0 # Angle in degrees the camera moves per step on the X-axis # with auto-track (default: 10) # Currently only used with pwc type cameras track_step_angle_x 10 # Angle in degrees the camera moves per step on the Y-axis # with auto-track (default: 10) # Currently only used with pwc type cameras track_step_angle_y 10 # Delay to wait for after tracking movement as number # of picture frames (default: 10) track_move_wait 10 # Speed to set the motor to (default: 255) track_speed 255 # Number of steps to make (default: 40) track_stepsize 40 ############################################################ # External Commands, Warnings and Logging: # You can use conversion specifiers for the on_xxxx commands # %Y = year, %m = month, %d = date, # %H = hour, %M = minute, %S = second, # %v = event, %q = frame number, %t = thread (camera) number, # %D = changed pixels, %N = noise level, # %i and %J = width and height of motion area, # %K and %L = X and Y coordinates of motion center # %C = value defined by text_event # %f = filename with full path # %n = number indicating filetype # Both %f and %n are only defined for on_picture_save, # on_movie_start and on_movie_end # Quotation marks round string are allowed. ############################################################ # Do not sound beeps when detecting motion (default: on) # Note: Motion never beeps when running in daemon mode. quiet on # Command to be executed when an event starts. (default: none) # An event starts at first motion detected after a period of no motion defined by gap ; on_event_start value # Command to be executed when an event ends after a period of no motion # (default: none). The period of no motion is defined by option gap. ; on_event_end value # Command to be executed when a picture (.ppm|.jpg) is saved (default: none) # To give the filename as an argument to a command append it with %f ; on_picture_save value # Command to be executed when a motion frame is detected (default: none) ; on_motion_detected value # Command to be executed when a movie file (.mpg|.avi) is created. (default: none) # To give the filename as an argument to a command append it with %f ; on_movie_start value # Command to be executed when a movie file (.mpg|.avi) is closed. (default: none) # To give the filename as an argument to a command append it with %f ; on_movie_end value ############################################################ # Common Options For MySQL and PostgreSQL database features. # Options require the MySQL/PostgreSQL options to be active also. ############################################################ # Log to the database when creating motion triggered image file (default: on) sql_log_image on # Log to the database when creating a snapshot image file (default: on) sql_log_snapshot on # Log to the database when creating motion triggered mpeg file (default: off) sql_log_mpeg off # Log to the database when creating timelapse mpeg file (default: off) sql_log_timelapse off # SQL query string that is sent to the database # Use same conversion specifiers has for text features # Additional special conversion specifiers are # %n = the number representing the file_type # %f = filename with full path # Default value: # insert into security(camera, filename, frame, file_type, time_stamp, text_event) values('%t', '%f', '%q', '%n', '%Y-%m-%d %T', '%C') sql_query insert into security(camera, filename, frame, file_type, time_stamp, event_time_stamp) values('%t', '%f', '%q', '%n', '%Y-%m-%d %T', '%C') ############################################################ # Database Options For MySQL ############################################################ # Mysql database to log to (default: not defined) ; mysql_db value # The host on which the database is located (default: not defined) ; mysql_host value # User account name for MySQL database (default: not defined) ; mysql_user value # User password for MySQL database (default: not defined) ; mysql_password value ############################################################ # Database Options For PostgreSQL ############################################################ # PostgreSQL database to log to (default: not defined) ; pgsql_db value # The host on which the database is located (default: not defined) ; pgsql_host value # User account name for PostgreSQL database (default: not defined) ; pgsql_user value # User password for PostgreSQL database (default: not defined) ; pgsql_password value # Port on which the PostgreSQL database is located (default: 5432) ; pgsql_port 5432 ############################################################ # Video Loopback Device (vloopback project) ############################################################ # Output images to a video4linux loopback device # The value '-' means next available (default: not defined) ; video_pipe value # Output motion images to a video4linux loopback device # The value '-' means next available (default: not defined) ; motion_video_pipe value ############################################################## # Thread config files - One for each camera. # Except if only one camera - You only need this config file. # If you have more than one camera you MUST define one thread # config file for each camera in addition to this config file. ############################################################## # Remember: If you have more than one camera you must have one # thread file for each camera. E.g. 2 cameras requires 3 files: # This motion.conf file AND thread1.conf and thread2.conf. # Only put the options that are unique to each camera in the # thread config files. ; thread /usr/local/etc/thread1.conf ; thread /usr/local/etc/thread2.conf ; thread /usr/local/etc/thread3.conf ; thread /usr/local/etc/thread4.conf
# Este archivo de configuración fué generado por motion 3.2.8
Espero que os sea útil y a disfrutar de las vacaciones con tranquilidad!!

12 comentarios:

  1. ¡Tiene muy buena pinta! ¡Tengo que probarlo!

    Yo uso el ZoneMinder, que se ve que tiene cierta fama entre este tipo de aplicaciones. Tiene un portal web en PHP que te va sacando los movimientos que ha detectado... ¡Está muy bien!

    Saludos

    ResponderEliminar
  2. Yo lo utilizo con una camara inalambrica cuyo modulo de recepción conecto a una capturadora de video. De ese modo no tengo la limitación del cable usb y ademas me funciona con visión infrarroja.

    ResponderEliminar
  3. podras decrime que camara inhalambrica usas y como lo pasas al tu camara de video y este a su vez en linux
    Muchas Gracias.

    ResponderEliminar
  4. La cámara la indico en el tutorial; Creative Webcam Instant.
    Una vez instalado el controlador como un módulo (también explicado), la cámara ya funcionará, se puede comprobar con kopete por ejemplo, en el apartado de configuración se puede elegir una cámara para chat por videoconferencia (hace falta también tener el V4l "video for linux" activado en el núcleo, pero suele estarlo ya.
    Hay algunas que funcionan directamente al enchufarlas, pero todavía linux tiene poco soporte (los fabricantes no hacen controladores para un sistema minoritario como linux).

    ResponderEliminar
  5. David gracias por tu pequeño manual, no creia que en linux hubiese detección de movimiento, y en la distro que tengo instalada Pclinuxos, he conseguido que funcione todo casi, casi a la primera. La verdad habia dejado de utilizar linux desde hacia varios años, pero ha avanzado muchísimo es mas facil de configura y de utilizar. Viva Linux

    ResponderEliminar
  6. PclinuxOS es una de las más fáciles de usar, ¡ánimo y difunde la palabra!

    ResponderEliminar
  7. Todo esta bien, pero lo que no esta bien es que no se como parar la camara, pues la quiero usar con msn y me dice que esta siendo usada pero no se como pararla y no he encontrado una solucion, si la tienen por favor ayudenme de antemano gracias

    saludos

    ResponderEliminar
  8. Efectivamente, mientras Motion la esté usando no se podrá usar para otra cosa. Tendrás que pararlo de forma limpia, si lo haces a la fuerza terminando la tarea (kill) creo que la cámara seguirá ocupada.
    Yo en tu caso, si quiero usar motion sólo de vez en cuando lo arrancaría desde la ventana de comandos y con ctrol+C lo pararía o añadiría otra cámara, que son muy baratas.

    ResponderEliminar
  9. Hola amigo este programa lo he utilizado y me parece exelente, pero me gustaria saber como podria hacer los thread para utilizar multiples camaras? gracias de antemano

    ResponderEliminar
  10. Pues ahora mismo no tengo ni idea; hay que mirar la documentación y también los foros del programa; hace tiempo que no uso este programa (ni ningún otro parecido).
    Gracias por preguntar de todas formas.

    ResponderEliminar
  11. Anónimo1/8/09, 4:01

    alguien sabe como hacer para vert camara ip en zoneminder o las camaras dlink funcionan en motion?

    att luis carlos

    ResponderEliminar
  12. Alguien pudo hacer andar el beep? alguien que entienda de comandos para hacer que cuando se detecte movieminto envíe un email o sms según tengo entendido se puede pero no tengo idea de cómo. Mas que nada me interesa que suene una alarma. En youtube vi un video de alguien que usa aterisk, xlite, un celular con bluetooh, una web cam y motion para hacer un sistema completo con llamada y control con comandos DTMF. estaría bueno sabes como se hace.

    ResponderEliminar

Puede dejar su comentario, que tratará de ser moderado en los días siguientes. En caso de ser algo importante/urgente, por favor utilicen el formulario de arriba a la derecha para contactar.