Streaming de Video en Directo con Raspberry
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 C110, una Webcam compacta, de reducido consumo, con micrófono incorporado, y que puede comprarse por algo menos de 27 euros.
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:
cd /
mkdir /tmp/mjpg
Pondremos en marcha el servidor de streaming con:
mjpg_streamer -i ‘input_file.so -f /tmp/mjpg -r’
Y daremos orden a nuestra Pi Cam de hacer una fotografía cada medio segundo:
raspistill -tl 500 -t 999999 -vf -w 960 -h 720 -o /tmp/mjpg/test.jpg -n -q 50&
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