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.

image

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

image

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

raspicam

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

Esta entrada fue publicada en Raspberry Pi, Seguridad y Redes y etiquetada , , , , , , , , , , , . Guarda el enlace permanente.

4 Respuestas a Streaming de Video en Directo con Raspberry

  1. raspmeteo dijo:

    Puedes hacer un poco mas extensible el tutorial con la raspberry pi cam?
    Muchas gracias!

    • elalbir28 dijo:

      Claro, ¿qué hechas de menos exactamente? Si es alguna duda puedes plantearla. La contestaré y servirá de ayuda a otros usuarios.

      • raspmeteo dijo:

        Sigo todos tus pasos con la raspicam y no hay forma de que funcione, sobretodo a la hora de poner en marcha el servidor.

        Hay forma de hacer un tutorial con los pasos mucho mas detallados?

        Gracias!

        • elalbir28 dijo:

          Hola, disculpa pero no he visto tu mensaje hasta ahora.
          No deberías tener problema en hacer funcionar la Raspi-cam. ¿Has comprobado que te funcione con otro programa? Ten en cuenta que para que la Raspi-cam funcione has de activarla antes entrando en raspi-config (sudo raspi-config), ir a interface options, desde allí a camera, y activarla (enable).
          Si aun asi no te funciona dímelo y haré la prueba con una que tengo siguiendo el tutorial paso a paso. Recuerdo que en su momento ya lo hice pero prestaré más atención a los detalles.
          Saludos,
          Santi

Deja un comentario