Montar un servidor de streaming de video en directo es muy sencillo, voy a explicaros como hacerlo con la ayuda de una Raspberry Pi y una simple Webcam conectable vía USB.
La cámara que he utilizado para este tutorial es una Logitech C270, una Webcam compacta, de reducido consumo, con micrófono incorporado, y que puede comprarse por algo menos de 47 euros. (He probado la Creative Live! Cam Chat Hd con idéntico resultado)
Lo primero que os recomiendo hacer es conectar la cámara a la Raspberry Pi.
La forma de ver que la cámara ha sido detectada y funciona correctamente:
lsusb
Mostrará algo como esto:
oot@RPI2-ALTEAGEEK:~# lsusb Bus 001 Device 004: ID 046d:0829 Logitech, Inc. Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
A continuación actualizaremos el software de nuestro sistema con:
sudo apt-get update
sudo apt-get upgrade
Seguidamente instalaremos las librerías y software necesario:
sudo apt-get install libjpeg8-dev
sudo apt-get install imagemagick
sudo apt-get install subversion
mkdir mjpg
cd mjpg
Descargaremos el software mjpg-streamer
svn co https://svn.code.sf.net/p/mjpg-streamer/code/mjpg-streamer/ mjpg-streamer
Una vez descargado
cd mjpg-streamer
y lo compilaremos con
make ( Raspberry 1 )
ó
make -j4 (en Raspberry 2 ó 3, más rápido al usar sus 4 núcleos)
Para poner en marcha el servicio de streaming bastará con ejecutar la siguiente orden:
./mjpg_streamer -i «./input_uvc.so -d /dev/video0 -y» -o «./output_http.so -w ./www»
A partir de ese momento nuestra Raspberry empezará a capturar vídeo y a servirlo por streaming, siendo accesible desde prácticamente cualquier navegador accediendo a la dirección IP del equipo servidor y el puerto 8080, en mi caso http://192.168.2.20:8080
Os aparecerá la siguiente página
En el menú lateral nos aparecen varios apartados desde los que se nos explicará como tener acceso al contenido a través de varias vías o incluso como incrustar el video en nuestra propia página web.
A continuación un ejemplo de mi webcam mostrando en directo la Raspberry Pi en la que corre alteageek.homelinux.org y su servidor stratum 1.
Existe también la opción de hacer algo parecido usando la cámara de Raspberry
Crearemos un directorio nuevo, en el que se irán guardando los fotogramas capturados por la Pi cam:
mkdir /tmp/streaming
Daremos orden a nuestra Pi Cam de hacer una fotografía cada medio segundo:
raspistill –nopreview -tl 500 -t 999999 -vf -w 960 -h 720 -o /tmp/streaming/test.jpg -n -q 50&
Y pondremos en marcha el servidor de streaming con:
mjpg_streamer -i «input_file.so -f /tmp/streaming -n test.jpg» -o «output_http.so -w /usr/local/www»
Podría profundizar más en los parámetros que podemos utilizar tanto con mjpg como en raspistill pero he preferido no hacerlo para no extenderme demasiado y hacer mucho más legible este tutorial. Si os quedáis bloqueados en cualquier paso y necesitáis cualquier tipo de ayuda no dudéis en contactarme.
Salu2 y hasta el próximo post
Santi
Hola, me puedes indicar como has incrustado la ventana de la webcam dentro la página web?
Gracias
Me gustaMe gusta
Claro, es sencillo, de hecho si vais a la página de prueba accesible desde vuestra red local desde http://ipdemáquina:8080 el propio software os muestra una página de prueba con varias opciones, en la que además se indica el código a incrustar dependiendo del tipo de foto/video/vlc/java..
Un ejemplo (falta añadir los símbolos menor/mayor al principio y final):
img class=»aligncenter» src=»http://direcciónweb:8080/?action=stream» width=»261″ height=»196″ /
Me gustaMe gusta
Gracias !!!
Me gustaMe gusta
Hola
según me informe, este codigo:Daremos orden a nuestra Pi Cam de hacer una fotografía cada medio segundo:
raspistill –nopreview -tl 500 -t 999999 -vf -w 960 -h 720 -o /tmp/streaming/test.jpg -n -q 50&
en la orde nopreview, tienes un guion en vez de dos menos.
Por lo demás, muy buena página que me ha ayudado como resolver problemas en mi raspberry pi.
Gracias y un saludo.
Me gustaMe gusta
Efectivamente antes del nopreview han de aparecer dos guiones seguidos, y de hecho así es como aparece en mi blog. Me temo que el error se ha producido al hacer copiar/pegar en tu equipo. Es un tipo de error bastante común, ocurre algo parecido al copiar/pegar las comillas simples (estas últimas se acaban pegando como acentos y vuelven locos a más de uno ya que a simple vista apenas se aprecia la diferencia.
Gracias por el comentario y a tu disposición para lo que necesites.
Me gustaMe gusta
gracias por tu explicacion.
Tu blog es la pera!!!!!
Me gustaMe gusta