Manejar Motion desde consola
miércoles, 10 de diciembre de 2008Hay un comando en GNU/Linux ideal para manejar Motion desde un terminal ó consola y cualquier otra aplicación que se gestione via web. lwp-request realiza requerimientos a servidores web y ficheros locales via POST e imprime la respuesta en consola. Creando un alias el manejo de Motion se reduce a «orden + opcion» sin tener que abrir un navegador para nada.
Por ejemplo, si ejecutais Motion y el puerto de administración es 8888, podeis añadir en vuestro archivo ~/.alias la siguiente líneaalias motionconf='lwp-request -C administrador:contraseña -b http://localhost:8888/'
a continuación reiniciais el terminal ó consola y basta escribir#desactivar la detección de movimientos en camara 2
motionconf 2/detection/pause
#reiniciar camara 6
motionconf 6/action/restart
#poner todas las cámaras en blanco y negro
motionconf 0/config/set?saturation=0
#escribir en el archivo de configuración
#los cambios efectuados en las cámaras
#nota: aunque se indique "escribir configuración de camara 4"
#realmente se sobrescriben TODOS
#los archivos de configuración que hayan sido modificados
motionconf 4/config/write
jorge
#1/ 03 de September/2009 a 00:25:42
Otros comentarios de «jorge»
Me resultò util tus explicaciones pero tengo un problema con mi placa que no es de una marca conocida (nuuo scb1004). Basada en el bt878a fusion.
En el debian el módulo la detecta como genèrica (card=0 y tunner=-1). Lo que no se es como detectar los "device", porque solo me genera el /dev/video0.
¿Como hago para que el ZONEMINDER pueda detectar todos los dispositivos o inputs de entrada? O de ùltima con el Motion.
Trebol-A
#2/ 03 de September/2009 a 01:00:27
Otros comentarios de «Trebol-A»
Hola Jorge,
Si te la detecta como "Generica" muy probablemente no la esté detectando correctamente y deberias especificarle al driver bttv que chipset estás usando. Para esto edita /etc/modprobe.d/bttv (ruta para opensuse, imagino que casi identica para Debian) y cambia card=0 por el tuyo.
La lista completa la tienes en /usr/src/linux-version-kernel/Documentation/video4linux/CARDLIST.bttv (ruta para opensuse, imagino que casi identica para Debian).
Empieza probando con los 70,77,110. Aunque el tuyo no aparezca en la lista no dejes de probar aquellos que consideres más parecido (por chip, fabricante, modelo, etc...)
Puedes probarlo haciendo:
rmmod bttv; modprobe bttv card=77; mplayer tv:// -tv device=/dev/video0;input=0;width=320:height=240:fps=24
La orden modprobe creo que en Debian se llama de otra manera, no recuerdo.
Una vez des con el número correcto, lo añades a /etc/modprobe.d/bttv para que lo use en adelante.
Por otro lado, dependiendo del modelo de tarjeta al detectarla correctamente te creará un solo /dev/video o cuatro (dev/video0,dev/video1,dev/video2,dev/video3), esto no puedo decirtelo, deberás averiguarlo.
Si te crea un solo dispositivo de vídeo (video0) accedes a los 4 canales cambiando el valor de input:
mplayer tv:// -tv device=/dev/video0;input=0;width=320:height=240:fps=24
mplayer tv:// -tv device=/dev/video0;input=1;width=320:height=240:fps=24
mplayer tv:// -tv device=/dev/video0;input=2;width=320:height=240:fps=24
mplayer tv:// -tv device=/dev/video0;input=3;width=320:height=240:fps=24
si te crea cuatro dispositivos de vídeo pues dejas input en 0 y cambias dev
mplayer tv:// -tv device=/dev/video0;input=0;width=320:height=240:fps=24
mplayer tv:// -tv device=/dev/video1;input=0;width=320:height=240:fps=24
mplayer tv:// -tv device=/dev/video2;input=0;width=320:height=240:fps=24
mplayer tv:// -tv device=/dev/video3;input=0;width=320:height=240:fps=24
suerte
BruneX
#3/ 22 de September/2010 a 16:29:07
Otros comentarios de «BruneX»
hola, mi consulta es: si aplico un cambio desde la consola se guarda permanentemente en motion.conf? osea, si quiero que deje de guardar imagenes cuando detecta movimiento hago lo siguiente:
root@shell~: motionconf 0/detection/pause (y listo?)
salu2 espero la respuesta ;)
Trebol-A
#4/ 22 de September/2010 a 18:05:52
Otros comentarios de «Trebol-A»
Hola BruneX,
buena pregunta. Pero no, en concreto el estado de detección (PAUSE ó ACTIVE) no se almacena en los archivos de configuración. Motion SIEMPRE se inicia en ACTIVE y si se desea hay que PAUSARLO, no hay manera de iniciarlo ya PAUSADO. ¿se me entiende?
Creo que había una solicitud para incorporar esta posibilidad en siguientes versiones de Motion, pero creo recordar que había algún problema "gordo" que impedía hacer esto.
Pero para otras opciones, (OPCIONES de Motion, no ESTADOS de Motion) como cambios de texto sobreimpresos, cambios en parametros de detección, etc.. si se son guardadas de forma permanente en los archivos de configuración con la orden:
root@shell~: motionconf 0/config/write
Mientras no se ejecute la orden de escritura los cambios son aplicados a la aplicación en ejecución "al vuelo", pero no de forma permanenete.
Saludos
BruneX
#5/ 26 de September/2010 a 07:28:42
Otros comentarios de «BruneX»
Hola, soy yo de nuevo MUCHAS GRACIAS por tu pronta respuesta.
Ahora tengo otra consulta, cuando copio la 1° linea al alias tengo un error de command not found.
-bash: lwp-request: command not found
a que se debe?
salu2 y espero tu respuesta, muchas gracias de antemando!
BruneX
Trebol-A
#6/ 26 de September/2010 a 12:19:22
Otros comentarios de «Trebol-A»
Hola Brunex,
A que no tienes lwp-request instalado.
BruneX
#7/ 27 de September/2010 a 17:09:38
Otros comentarios de «BruneX»
xD thanks! sorry for my noob question!
Trebol-A
#8/ 27 de September/2010 a 17:33:39
Otros comentarios de «Trebol-A»
Dont worry! be linux ;)
BruneX
#9/ 27 de September/2010 a 18:12:15
Otros comentarios de «BruneX»
Disculpa que te moleste de nuevo pero... no encuantro la forma de instalar el lwp-request.
sabrias como hacerlo?
salu2
y muchas gracias!
Trebol-A
#10/ 27 de September/2010 a 19:25:51
Otros comentarios de «Trebol-A»
Hola BruneX,
lwp-request es simplemente un script en Perl. Para instalarlo escribe las siguientes líneas en una consola:
#primero lo descargas con
wget "http://cpansearch.perl.org/src/GAAS/libwww-perl-5.837/bin/lwp-request" -O ~/lwp-request
#lo copias a la carpeta /usr/bin como root
sudo cp ~/lwp-request /usr/bin/lwp-request
#y lo conviertes en ejecutable
sudo chmod +x /usr/bin/lwp-request
hecho, instalado y listo para funcionar
BruneX
#11/ 02 de October/2010 a 02:19:13
Otros comentarios de «BruneX»
Muchas Gracias por contestar Trebol-A pero haciendo eso me encontre con el siguiente error...
la verdad no tengo idea de que se trata, voy a googlear un poco haber que encuentro
Can't locate HTTP/Status.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at /usr/bin/lwp-request line 191.
BEGIN failed--compilation aborted at /usr/bin/lwp-request line 191.
si tenes alguna idea me seria de gran ayuda, muchas gracias de nuevo por las molestias!
salu2 y gracias por este gran aporte!
BruneX
#12/ 03 de October/2010 a 06:18:52
Otros comentarios de «BruneX»
Falta el modulo de perl... asi que hice lo siguiente:
shell#: perl -MCPAN -e shell
shell#: install HTTP::Status
y bueno estoy esperando que termine.... termino!! jojo y funciono! espero que a alguien le sirva! =) y gracias por la ayuda TREBOL-A!
SALU2 LINUXEROS!
21 de December, 2024 @ 11:51