Servidor de streaming ( rtmp ) con Nginx y ffmpeg ( PC o Raspberry )

¿ Para que ?

Puedes tener un sistema de TV interno en lugares aislados como plataformas marinas, donde puedes usar la infraestructura de red para transportar video.

Requerimientos

El codec H264 para incluirlo en ffmpeg
Nginx con el parche del modulo de rtmp para incluirlo en el Nginx

Todo sera instalado desde sus fuentes, aunque sera instalado desde un centos 8 , esto deberia funcionar en cualquier GNU/Linux que cumpla con las librerias y el compilador GNU C

Compilar el codec H264

git clone –depth 1 https://code.videolan.org/videolan/x264.git

cd x264

En PC ./configure –enable-static –disable-opencl –disable-asm

En Raspberry ./configure –host=arm-unknown-linux-gnueabi –enable-static –disable-opencl

make

make install

Compilar ffmpeg usando el codec previamente compilado H264

git clone git://source.ffmpeg.org/ffmpeg –depth=1
cd ffmpeg/
En PC ./configure –target-os=linux –enable-gpl –enable-libx264 –enable-nonfree –disable-x86asm
En Raspberry ./configure –arch=armel –target-os=linux –enable-gpl –enable-libx264 –enable-nonfree
make
make install

Compilar nginx con el modulo rtmp

git clone git://github.com/arut/nginx-rtmp-module.git

wget “http://nginx.org/download/nginx-1.17.8.tar.gz”

tar -zvxf nginx-1.17.8.tar.gz

cd nginx-1.17.8/

./configure –with-http_v2_module –with-http_gunzip_module –with-http_gzip_static_module –with-http_ssl_module –add-module=RutaDelModuloClonadoConGit –prefix=/usr/nginx-1.17.8

make

make install

Configurar nginx.conf

rtmp {

server {

listen 1935;

application dragontv {

live on;

record off;

}

}

}

Usar ffmpeg para transmitir archivos de videos al servicio rtmp en el mismo equipo

ffmpeg -re -y -i laeradelosofendidos.mp4 -vcodec libx264 -b:v 600k -r 25 -s 640×360 -filter:v yadif -ab 64k -ac 1 -ar 44100 -f flv “rtmp://localhost/dragontv”

Consumir los datos en streaming usando VLC

rtmp://www.lastdragon.net/dragontv

Add a Comment

Comment spam protected by SpamBam