Como aquí vamos a trabajar con codecs, etc. vamos a instalar el repositorio para apt no oficial que tiene todas las cosas necesarias para multimedia que por licencias o lo que sea no están disponibles en los repositorios oficiales, editamos el fichero siguiente:
nano /etc/apt/sources.list
Y añadimos esta línea al final:
deb http://www.debian-multimedia.org lenny main non-free
Por último instalamos sus claves para que apt/aptitude se fíen de sus paquetes:
cd /usr/src
wget http://www.debian-multimedia.org/pool/main/d/debian-multimedia-keyring/debian-multimedia-keyring_2010.12.26_all.deb
dpkg -i debian-multimedia-keyring_2010.12.26_all.deb
Para instalar el servidor usaremos el comando siguiente, previa actualización de los paquetes disponibles como siempre, va a instalar bastantes cosas, entre ellas codecs y un servidor de BBDD ya que nuestro interfaz web necesitará saber que se ha grabado, donde y cuando:
aptitude update
aptitude install motion mysql-server mysql-client
Una vez instalado vamos a configurarlo para que pueda funcionar correctamente, el fichero a editar es el siguiente:
nano /etc/motion/motion.conf
Si leéis el fichero de configuración viene explicado que significa cada cosa con bastante detalle, las variables que tendríamos que cambiar para nuestro ejemplo son las siguientes, os explico las importantes:
- width, height y framerate: Indican la resolución y fotogramas por segundo a la que se usará la webcam, a mayores valores más ancho de banda para usarlo remotamente, más espacio ocupara lo grabado, menos fotogramas por segundo se podrán capturar y más CPU del servidor se usará, pero mayor calidad de imagen se obtendrá, esto depende del hardware de la webcam que tengáis.
- output_normal: Solo guarda un fotograma en jpeg con "best" el que más movimiento a tenido con lo que suele ser más relevante pero hasta que no acaba el video no lo guarda y con "first" el primero, menos relevante pero más rápido.
- ffmpeg_video_codec: El codec para comprimir el video, divx compatible con windows media player es lo mejor por compatibilidad aunque podemos usar otro de los disponibles.
- locate: Dibuja un cuadro alrededor del movimiento detectado.
- target_dir: En que carpeta vamos a grabar lo que capture la webcam.
- webcam_motion y webcam_maxrate: Cuando usemos el interfaz web para ver que pasa en tiempo real si no se detecta movimiento capturará a un fotograma por segundo y si hay movimiento al máximo que le indiquemos.
- mysql_*: Parámetros de acceso a la BBDD para guardar los registros de actividad, sobre todo el usuario y contraseña debéis cambiarlos por los vuestros.
width 640
height 480
framerate 25
output_normal best
ffmpeg_video_codec msmpeg4
locate on
target_dir /compartido/motion
webcam_motion on
webcam_maxrate 25
sql_log_mpeg on
sql_log_timelapse on
mysql_db motion
mysql_host localhost
mysql_user motion
mysql_password motionpassword
Crearemos la carpeta donde vamos a guardar los videos, en el ejemplo dentro de la carpeta del servidor que está compartida por Samba:
mkdir /compartido/motion
chown motion:motion /compartido/motion/
chmod 755 /compartido/motion/
Como hemos instalado un servidor MySQL y por defecto deja su usuario root sin contraseña lo primero que haremos será ponerle una, cambiad la del ejemplo por la vuestra:
mysqladmin -u root password rootpassword
Antes de arrancar motion tenemos que configurar la BBDD en el MySQL, para ello ejecutamos los comandos siguientes, recordar cambiar usuario, contraseña o cualquier otro parámetros que no hayáis usado igual, tendremos que conectarnos al MySQL con el comando siguiente:
mysql -h localhost -prootpassword -u root
Y una vez en la consola del MySQL ejecutaremos las siguientes sentencias SQL, simplemente es copiar y pegar línea a línea:
CREATE USER 'motion'@'localhost' IDENTIFIED BY 'motionpassword';
CREATE DATABASE motion;
GRANT ALL ON motion.* to 'motion'@'localhost' identified by 'motionpassword';
USE motion;
CREATE TABLE `security` (`camera` int(11) default NULL, `filename` varchar(80) NOT NULL default '',`frame` int(11) default NULL, `file_type` int(11) default NULL,`time_stamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,`text_event` varchar(40) NOT NULL default '0000-00-00 00:00:00',`event_time_stamp` timestamp NOT NULL default '0000-00-00 00:00:00', `file_size` varchar(36) NOT NULL default '0',KEY `time_stamp` (`time_stamp`),KEY `event_time_stamp` (`event_time_stamp`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;
QUIT;
Con esto ya podemos arrancar motion, usamos el comando siguiente para ello:
/etc/init.d/motion start
Ahora si probáis a mover algo delante de la webcam podréis observar como guarda los videos, por ejemplo:
servidor:~# ls -lh /compartido/motion/
total 860K
-rw-r--r-- 1 motion motion 338K 2010-12-29 13:41 01-20101229134026.avi
-rw-r--r-- 1 motion motion 18K 2010-12-29 13:41 01-20101229134130-00.jpg
-rw-r--r-- 1 motion motion 472K 2010-12-29 13:44 02-20101229134308.avi
-rw-r--r-- 1 motion motion 18K 2010-12-29 13:44 02-20101229134413-00.jpg
servidor:~#
Comentarios
Registrarse
#0 Xtreme el 09-01-2011 a las 11:56
Buenisimo el tutorial, a ver si me hago con una webcam y lo pongo en practica, GRACIAS ;)
#1 Ghost el 09-01-2011 a las 17:39
Enhorabuena, estás creando unas guías excelentes :) .
#2 Zoltelder el 10-01-2011 a las 11:58
Estupenda guía como siempre Alarido
#3 alarido el 10-01-2011 a las 17:53
Vosotros si que haceis un trabajo increíble, con vuestras reviews que todos sabemos la cantidad de esfuerzo que requieren, buscando noticias que nos mantengan informados y además ayudando incansablemente a todo el que decide unirse a esta comunidad.
#4 gurri el 01-02-2012 a las 18:40
una guia excelente, puedo sugerir que la siguiente guia sea sobre la instalacion de algun servidor DLNA , muchos almacenamos montones de peliculas en el NAS para verlas directamente por red en un televisor
#5 gurri el 01-02-2012 a las 18:44
Se me olvido preguntar si con debian hay que hacer algo especial para formatear los discos grandes (de 1 o 2tb). Me refiero a los que llevan el sistema AFT con sectores 4k como la serie EARS de WD
#6 Ghost el 01-02-2012 a las 21:44
En principio no tienes que hacer nada en especial para formatear ese tipo de discos.
#7 gurri el 12-02-2012 a las 16:52
Alguien ha probado MinDLNA ? (http://sourceforge.net/projects/minidlna/ )
es gratuito (TwonkyMedia Server no lo es) hay paquetes para debian e incluso algun parche para teles samsung
#8 alarido el 18-02-2012 a las 11:57
Lo he probado, lo malo es que no hace transcodificación, el que mejor me ha funcionado ha sido PS3 media server, tanto en linux como en windows.
#9 gurri el 15-03-2012 a las 17:38
Ps3 media server tiene unos requisitos muy elevados y yo tengo debian en un humilde pIII con 256 de ram. Creo que me conformare con el servidor samba (gracias a este tutorial pude instalarlo) y dejare un sveon spm250 (con cliente samba y UPNP) como reproductor para la tele. Un saludo y de nuevo gracias por explicarlo todo con tanta sencillez para los que somos novatos en linux