Para poder ver las cámaras en vivo y poder ponerles contraseña la cosa se complica un poco ya que tenemos que utilizar algún tipo de aplicación intermediaria entre el servidor web que nos deja poner contraseñas (Lighttpd) y el servidor integrado que sirve las fotos de motion, vamos a usar
MjpegFrameGrabPHP básicamente es un script PHP que accederá de manera local al streaming de video y lo mostrará, no es lo ideal para la CPU pero es lo más sencillo y fácil de configurar.
Lo primero es crear una carpeta y editar un fichero php que contenga el script, en nuestro ejemplo motion sirve el streaming de la cámara en el puerto 8081, si tenéis varias cámaras o están en otros puertos tendréis que repetir todos los pasos de esta sección para cada cámara:
mkdir /var/www/mb/8081/
nano /var/www/mb/8081/index.php
En el fichero pegamos lo siguiente, fijaros como indicamos el puerto 8081:
set_time_limit(0);
$fp = fsockopen ("127.0.0.1", 8081, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)
\n";
} else {
fputs ($fp, "GET / HTTP/1.0\r\n\r\n");
while ($str = trim(fgets($fp, 4096)))
header($str);
fpassthru($fp);
fclose($fp);
}
?>
En su momento configuramos MotionBrowser indicándole que la cámara 1 escuchaba en el puerto 8181 en vez de 8081, lo que vamos a hacer es que Lighttpd escuche en el puerto 8181, nos pida contraseña y muestre el index.php que accederá de manera local al puerto 8081, enrevesado quizás pero funcionará y creedme si os digo que es probablemente la manera más sencilla de conseguir esto.
Editamos el fichero siguiente:
nano /etc/lighttpd/conf-available/99-camara-8081.conf
Y ponemos el siguiente contenido, como veis configuramos la autenticación, los puertos 8181 y 8081, etc. para el ejemplo voy a usar la misma configuración de usuario y contraseña que para el acceso a MotionBrowser, pero podéis seguir los pasos de configuración para usar diferentes contraseñas para cada cámara:
$SERVER["socket"] == "0.0.0.0:8181" {
$HTTP["host"] =~ ".*" {
server.document-root = "/var/www/mb/8081"
auth.backend = "htdigest"
auth.backend.htdigest.userfile = "/etc/lighttpd/.passwdmotion"
auth.debug = 2
auth.require = (
"/" => (
"method" => "digest",
"realm" => "motionauth",
"require" => "valid-user"
)
)
}
}
Ahora simplemente nos queda activar la configuración de acceso a esta cámara y reiniciar el servidor web para que aplique los cambios:
lighttpd-enable-mod camara-8081
/etc/init.d/lighttpd restart
Como siempre os invito a pasaros por el foro de Linux para cualquier duda o sugerencia, gracias. El siguiente tutorial aun no tengo ni idea de que lo voy a hacer, solo se que casi seguro que se pulicará algo.
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