zm_install

Upload: quipi-qui

Post on 05-Feb-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/21/2019 zm_Install

    1/6

    Sin ttuloIntroduccin

    ZoneMinder es un conjunto de aplicaciones de video vigilancia que permitengrabar y monitorizar cmaras IP, CCTV y Webcam conectadas a un equipo conGNU/Linux con soporte Video For Linux (V4L). Est formado de varios componentesy scripts escritos en Perl y PHP (para la interfaz web). Requiere,

    principalmente, del servidor de base de datos MySQL, servidor Web apache yffmpeg.

    Instalacin

    ZoneMinder no se encuentra en los repositorios de lenny, pero si se encuentra ensqueeze desde donde pueden instalarse.

    Primeramente, se deben instalar los servicios necesarios y algunos otrospaquetes para una mejor administracin:# aptitude install apt-listbugs apt-file gpm vim less rcconf openssh-server# aptitude install apache2 libapache2-mod-php5 libapache2-mod-auth-mysql php5php5-mysql mysql-server mysql-client

    Luego se instala ffmpeg:# aptitude install ffmpeg

    A continuacin se instala ZoneMinder:# aptitude install zoneminder

    Esto instalar ZoneMinder y todas sus dependencias y crear la base de datos zmen MySQL.

    Configuracin

    Agregar el usuario www-data al grupo video:# gpasswd -a www-data video

    Agregar un alias en apache para poder acceder a ZoneMinder desde el servidor web

    y se reinicia o se recarga la configuracin de apache para que los cambiostengan efecto:# ln -s /etc/zm/apache.conf /etc/apache2/conf.d/zoneminder.conf# /etc/init.d/apache2 restart (o apache2ctl restart)

    Se configuran los permisos adecuados a /usr/bin/zmfix para que pueda ser ledo yejecutado por todos los usuarios:# chmod 4755 /usr/bin/zmfix# zmfix -a

    Se asigna a www-data como el propietario del directorio temporal de ZoneMinder:# chown www-data.www-data /usr/share/zoneminder/temp

    Editar el archivo "/etc/sysctl.conf" y agregar las siguientes lineas (para 128MBde memoria compartida)

    kernel.shmall = 134217728kernel.shmmax = 134217728

    Se descarga, descomprime y se copia cambozola al directorio"/usr/share/zoneminder/" para ver el streeming de las cmaras:$ wget http://www.charliemouse.com:8080/code/cambozola/cambozola-latest.tar.gz$ tar -xvzf cambozola-latest.tar.gz# cp cambozola-0.76/dist/cambozola.jar /usr/share/zoneminder/

    Luego, se habilita el cliente de streaming cambozola desde las opciones de laconsola de administracin de ZoneMinder (Options / Images / OPT_CAMBOZOLA).

    ZoneMinder usa por default un usuario y contrasea dbil para las query con labase de datos. Por ello, se recomienda cambiar el usuario y contrasea que usa

    ZoneMinder. Esto se hace editando el archivo "/etc/zm/zm.conf" y modificando lasdirectivas ZM_DB_USER y ZM_DB_PASS:

    Pgina 1

  • 7/21/2019 zm_Install

    2/6

    Sin ttulo# nano /etc/zm/zm.confZM_DB_USER=nuevouserZM_DB_PASS=nuevopasswd

    Una vez modificado se crea el usuario con su password en MySQL:$ mysql -uroot -p

    GRANT all ON zm.* to nuevouser@localhost IDENTIFIED BY 'nuevopasswd';exit;

    Otra configuracin que se puede modificar es la ruta donde se guardarn loseventos e imgenes (quiz otro disco duro) modificando el enlace simblico paraque apunte a la nueva ruta:

    # rm /usr/share/zoneminder/events# rm /usr/share/zoneminder/images# rm /usr/share/zoneminder/temp

    # mkdir /ruta/nueva/images# mkdir /ruta/nueva/events# mkdir /ruta/nueva/temp

    # ln -s /ruta/nueva/images /usr/share/zoneminder/images# ln -s /ruta/nueva/events /usr/share/zoneminder/events# ln -s /ruta/nueva/temp /usr/share/zoneminder/temp# chown www.data.www.data -R /ruta/nueva/

    Si ya se han agregado monitores, antes de eliminar los enlaces simblicos hayque parar el servicio de ZoneMinder. Una vez creados los enlaces simblicos semueve el contenido de los directorios "/var/cache/zoneminder/" a la nueva ruta yse arranca el servicio ZoneMinder.

    IMPORTANTE: Cuando se actualiza ZoneMinder mediante el sistema de paquetes, seeliminarn los enlaces que se acaban de crear y se crearn los que vienen pordefault. Por lo que hay que repetir los pasos, pero ANTES hay que tener muchoCUIDADO en mover los eventos de "/ruta/nueva/events" fuera de dicha ruta porquede lo contrario se eliminarn todos los eventos cuando se inicie ZoneMinder.

    Conceptos e Informacin interesante

    - Un monitor es la configuracin de una cmara ya sea para monitorizar o grabarimgenes. Una vez configurado, si se hace de manera correcta, se habilita y lacmara es accesible se mostrar de color verde, de lo contrario se mostrar decolor rojo o anaranjado.- La consola de ZoneMinder es la interfaz Web- Un evento es el registro generado por una cmara cuando se graban imgenes.- Por default, cada 10 minutos (puede modificarse) se genera un nuevo evento quecontiene las imgenes de la grabacin.- Las imgenes de los eventos se guardan en la carpeta "events/"- Los filtros sirven para mostrar determinados eventos en base a parmetrosconfigurables (fecha, causa, porcentaje en disco, id del monitor, etc). Viene

    incluido un filtro por default llamado PurgeWhenFull que elimina de maneraautomtica los eventos antiguos cuando el disco duro llega al porcentajeconfigurado.

    Configuracin de las Opciones (Options) desde la consola de ZoneMinder

    Se accede a estas opciones desde el link "options" en la consola principal deZoneMinder. Si se realizan varias modificaciones se recomienda reiniciarZoneMinder para evitar inconsistencia o perdida de datos. Se recomiendamodificar al menos las siguientes opciones:

    + En la pestaa "System":- La opcin LANG_DEFAULT permite modificar el idioma. Se cambia al idioma alespaol (es_ar). Gran parte no est traducido al espaol, para continuar

    traduciendo hay que editar el archivo "/usr/share/zoneminder/lang/es_ar.php".- La opcin OPT_USE_AUTH debe marcarse para permitir autenticacin de usuarios.

    Pgina 2

  • 7/21/2019 zm_Install

    3/6

    Sin ttuloAl guardar pedir usuario y contrasea que por defecto son admin/admin. Tambinaparecer una pestaa llamada "Users" desde la cual se puede modificar la clavedel usuario admin y crear nuevos usuarios con los permisos deseados.

    + En la pestaa Paths (Enlaces) se pueden modificar las rutas donde sealmacenaran imgenes, sonidos etc.

    DIR_EVENTS dejar eventsDIR_IMAGES dejar imagesPATH_ZMS No estoy seguro, por ah le que se modificaba por "/cgi-bin/zms", perono estoy seguro, pues por default es "/cgi-bin/nph-zms".PATH_LOGS Ruta donde se guardaran los logs. Recomiendo cambiar por "/var/log/zm"(por default trae /tmp)

    + En la pestaa "Web"WEB_RESIZE_CONSOLE Desmarcarlo

    + En la pestaa "Images"OPT_CAMBOZOLA marcarloPATH_CAMBOZOLA cambozola.jar (donde fue guardado anteriormente)STREAM_METHOD Dejar jpeg, aunque no se si haya diferencia si se cambia por"mpeg", pues cuando lo hice no note ninguna diferencia.

    PATH_FFMPEG Dejar /usr/bin/ffmpeg

    Creacin de usuarios

    + En la pestaa "Users" (Usuarios). Para que aparezca esta pestaa debe marcarsela opcin "OPT_USE_AUTH" desde la pestaa "System".- Se modifica el password de admin dando clic en el nombre del usuario. Serecomienda no eliminar la cuenta admin al menos hasta que sea creada otra cuentacon todos los permisos.- Se crean ms cuentas de usuario. Pueden crearse usuarios con los permisossiguientes:Lenguaje para esa cuenta de usuario en particularStream (permite ver video en vivo de las cmarasEvents (permite ver o modificar o eliminar eventos)

    Control (permite controlar cmaras)Monitors (permite ver y editar monitores)System (determina si el usuario puede ver o modificar las configuraciones delsistema. Como la de usuarios o del sistema completo)Ancho de bandaRestringir a determinados monitores

    Configuracin de monitores

    Pueden configurarse varios monitores por cmara y cada monitor tiene su propiaconfiguracin. A continuacin se explican las principales:>> Pestaa General+ Source Type: Indica el tipo de cmara. Si la cmara est conectada localmentepor USB, hay que elegir "Local".

    Function: Indica la manera en que actuar. La opciones son las siguientes.Monitor.- Se usa para monitorizar una cmara sin que genere eventos (no grabanada)Modect.- Deteccin de movimiento. Se analizan todas las imgenes y cuando sedetecta movimiento se generan eventos.Record.- Genera eventos de manera continua, grabando en todo momento haya o nodeteccin de movimientoMocord.- Es la combinacin de Modect y Record.Nodect.- No detecta.

    + Enable: Se marca si se desea habilitar el monitor.+ Linked Monitors: Permite seleccionar otros monitores. Puede usarse para forzara todas las cmaras a grabar cuando en dicho monitor se detecte movimiento+ Maximum FPS: Permite limitar el nmero mximo de fotos que se guardarn dedicha cmara an cuando esta permita un FPS mayor. Esta opcin permite aligerar

    la carga del servidor sobre todo cuando se tengan varias cmaras configuradas.ZoneMinder no puede modificar el stream mjpeg que le pasan las cmaras IP.

    Pgina 3

  • 7/21/2019 zm_Install

    4/6

    Sin ttuloAlgunas cmaras IP permiten modificar dicho FPS directamente en suconfiguracin. Para usar esta caracterstica (FPS) debe usarse el mtodo "jpeg"en lugar de "mjpeg" (En la consola de Zm: Options, Images, STREAM_METHOD).+ Alarm Maximum FPS : Permite sobreescribir el "Maximum FPS" cuando algo ocurra(como deteccin de movimiento)

    >> Pestaa SourceLas opciones variaran segn el Tipo de Origen configurado en la pestaa General.

    Para una cmara conectada localmente, las opciones seran:En la pestaa General.- Source Type: Local. Function: Monitor o lo que deseeEn la pestaa Source.- Device Path: /dev/video0 o el dispositivo segn sea elcaso. Capture Method: Video for Linux version 2. Device Format: PAL. CapturePalette: YUYV.

    Puede ver la lista de Hardware soportado incluyendo cmaras IP con susconfiguraciones especificas en esta pgina.

    Para la cmara IP D-Link DCS-2102 (que no viene incluida en la lista y cuandoquise agregarla no pude porque necesitaba loguearme y las veces que intenteregistrarme no pude hacerlo) la configuracin es la siguiente para el protocolo

    RTSP:Source Type: ffmpegSource Path: rtsp://usuario:password@IPCamara/play2.sdp

    >> Pestaa Misc+ Event Prefix: Prefijo del nombre de los eventos.+ Section Length: longitud de los eventos en segundos. Es recomendable que elvalor sea entre 300 y 900 segundos (5 y 15 min). Por default son 600 segundos(10 minutos)

    Agregar o modificar zonas

    Por cada monitor que se crea, se genera automticamente una zona. Una zona sirvepara indicar que zona (rea) de la toma se utilizar para generar eventos. Se

    puede acceder o agregar zonas desde la consola principal de ZoneMinder en lacolumna "Zones".

    + Name: Etiqueta de la zona+ Type:Active: Es la que se usa ms frecuentemente y es definida por default con losmonitores recin creados. Indica que la zona accionar una alarma en cualquierevento que ocurra dentro de la zona (dentro de los puntos).Inclusive: Este tipo de zona puede usarse para activar su alarma solo cuandootra zona activa ha activado su alarma. Por ejemplo, si se desea monitorizar uncuarto en el cual hay una puerta, puede usarse una zona "Active" que cubra elrea de la puerta y otra zona "Inclusive" que cubra el resto del cuarto.Exclusive: Las alarmas sern accionadas solamente en esta zona si no se hanaccionado ningunas alarmas ya en zonas activas.Preclusive:

    Inactive: Este tipo de zona es lo opuesto a la zona activa. En este tipo dezonas no se reportarn nunca las alarmas. Puede usarse para zonas que no sedeseen supervisar.+ Presets: contiene una lista predefinida de algunas configuraciones comunes dela zona.+ Units: Detalla si los siguientes opciones de configuracin sern en porcentajeo en pixeles. Es recomendable usar el porcentaje inicialmente hasta comprender.+ Alarm Colour:+ Alarm Check Method: AlarmPixels o FilteredPixels+ Min/Maximum Pixel Threshold:+ Filter Width/Height: Se recomienda un numero pequeo (3 o 5)+ Zone Area:+ Min/Maximum Alarmed Area: valor de porcentaje o de pixeles mnimos de cambios(que se deben igualar o superar) para que entre la alarma. El mximo no debe serexcedido o se cancela la alarma Un valor mnimo adecuado puede ser entre 10 o 30

    si hay poca o mucha luz.+ Min/Maximum Filtered Area:

    Pgina 4

  • 7/21/2019 zm_Install

    5/6

    Sin ttulo+ Min/Maximum Blob Area+ Min/Maximum Blobs

    Ver monitores

    Para ver lo que est ocurriendo en un monitor hay que dar clic en el nombre delmonitor ubicado en la columna "Name" desde la consola de ZoneMinder. Se abriruna ventana con el monitor y en la parte de abajo se listarn los ltimos 10eventos ocurridos en ese monitor.

    Filtrado de eventos

    - En la consola principal de ZoneMinder se muestran varias columnas en lascuales se muestran el total de eventos de los monitores filtrados por hora, da,semana y mes.- En la consola principal hay un botn llamado "Filters" que al dar clic en lnos muestra una ventana en la cual podemos crear nuestros propios filtros omodificar los existentes. Por default viene un filtro que elimina los eventossin archivar cuando el espacio en disco duro llegue al %85.

    - Los filtros constan de una o ms condiciones que de cumplirse se aplican lasacciones configuradas (ejecutar un comando personalizado, archivar, crear unvideo y/o eliminar los eventos) a los eventos involucrados.- Para crear un filtro basta con elegir una(s) condicin(es), especificar unvalor y elegir la(s) accin(es) a aplicar.- Los filtros automatizados se ejecutan en Perl y se analizan por fecha, porello es importante usar en los campos tipo fecha formatos compatibles con PHP yPerl. Un ejemplo valido en ambos mtodos es usar '-3 day' o similar.- Un tipo de filtro especial es "Disk Blocks" y "Disk Percent" que no estnrelacionados con los eventos pero si con la particin del disco duro donde estnalmacenados los eventos. Estos permiten especificar una cantidad de uso de discoduro en bloques o en porcentaje devuelto por el comando "df" (se refiere acantidad de espacio del disco duro usado y no el libre).- Para asegurarse de que se apliquen los cambios se recomienda reiniciar elservicio de ZoneMinder.

    Ejemplo de un filtro que elimina eventos sin archivar que tengan ms de 30 dasde haber sido creados:[ ] and [< less than> -30 day] (otra opcin es la siguiente lnea que cambia"day" por "days")[ ] and [< less than> -30 days]Limit to first 5 results onlyDelete all matches

    Antes de guardar o ejecutar un filtro es recomendable dar clic en el botn"Submit" para checar que eventos se ven afectados con el filtro para evitarcometer errores y eliminar eventos indeseados.

    Ver eventos

    Para acceder a los eventos se hace desde la consola principal de ZoneMinderdando clic en la columna que muestra el total de eventos del monitor deseadofiltrado por hora, da, semana o mes. Se abrir una ventana que lista loseventos de dicho monitor. En esta ventana hay un link llamado "Show Timeline"que abre una ventana nueva que muestra los eventos en una linea del tiempo enforma grfica. Stills es til si el stream no funciona o no est soportado o sedesea acceder a una foto en particular.

    Cuando se accede a un evento particular, en la ventana hay varias opciones quepermiten cambiar de nombre al evento, eliminarlo, editarlo (comentar sobre elmismo), exportarlo (para ser descargado), archivarlo, acceder a los frames(fotos individuales), crear un video (en mpeg) del evento. Tambin hay un linkllamado "Stills" (fotos) que se diferencia de "Frames" en que muestra thumbnailsde las imgenes individuales del evento y al darle clic se abre la imagen en su

    tamao normal. En cambio Frames lista las fotos mostrando el tiempo en el queocurri.

    Pgina 5

  • 7/21/2019 zm_Install

    6/6

    Sin ttulo

    Archivar un evento significa que ser guardado y no se mostrar en los listadosnormales de eventos. Es til para guardar eventos que son importantes o que sedesean proteger para que no sean borrados con los filtros automticos. Una vezque el evento es archivado no puede eliminarse o desarchivarse accidentalmentecuando se estn viendo los eventos no archivados.

    La opcin que genera videos usa el codificador ffmpeg y por default los videostienen la misma duracin que el evento: pero pueden ajustarse antes de generarel video. Una vez generado el video podr verse directamente, descargarse alequipo local y eliminarse del servidor una vez que no se requiera. El proceso degeneracin del video MPEG puede tardar algunos minutos.

    LOGS

    Como ya se coment, desde las opciones de consola de ZoneMinder en la opcinPATH_LOGS se puede especificar la ruta donde se guardaran algunos logs. Sinembargo una gran cantidad de logs se guardan en el archivo "/var/log/messages",para separar los logs de Zoneminder hay que editar el archivo "/etc/sysctl.conf"y agregar al inicio del archivo las siguientes lneas:

    # Save ZoneMinder messages to zm.loglocal1.* /var/log/zm/zm.log

    Esto guardar los logs de Zoneminder etiquetados con local1 en"/var/log/zm/zm.log". Sin embargo esto no garantiza que todos los mensajes deZoneMinder vayan a zm.log pudindose escapar algo a "/var/log/messages".

    Otra informacin interesante

    Si apache se colgara despus de cierto tiempo por la cantidad de conexiones quese levantan y se tuviera que reiniciar el servicio a cada rato, sera necesariomodificar lo siguiente en el archivo "/usr/share/zoneminder/ajax/stream.php":if ( $numSockets === false )Por:

    if ( $numSockets === false || $numSockets < 1 )

    Configurar cmara D-Link DCS-2102

    + Protocolo: RTSP (por el puerto 554)Source Type: ffmpegSource Path: rtsp://usuario:passwd@IP/play2.sdp

    Si se tiene configurado un firewall en el equipo, hay que abrir los siguientespuertos para que funcione la cmara:554 por tcp y udp5000-5020 udp

    Pgina 6