Este tutorial busca resolver eso mostrándole cómo configurar un servidor de transmisión en vivo personal que aproveche NGINX, un servidor web poderoso y liviano y proxy inverso y el protocolo RTMP.
Antes de continuar, asegúrese:
Empecemos.
Que es nginx
Como se mencionó anteriormente, NGINX es un servidor web de código abierto rápido y ligero y proxy inverso utilizado para servir sitios web estáticos simples o aplicaciones masivas. Nginx es un servidor web de alto rendimiento con una velocidad y seguridad increíbles. Gracias a su naturaleza ligera, es una opción muy eficiente para los servicios de transmisión y el tráfico con tráfico masivo.
Puede obtener más información sobre NGINX del recurso proporcionado a continuación:
https: // nginx.org/en/docs/
¿Qué es Nginx RTMP?
Nginx RTMP es un módulo de código abierto y potente para el servidor web NGINX. Habilita el protocolo RTMP, la transmisión en vivo HTTP (HLS) y la transmisión adaptativa dinámica a través de HTTP (Dash).
Puede obtener más información sobre HLS y Dash desde la página de recursos:
https: // www.marco de la nube.com/aprendizaje/video/what-is-mpeg-dash/
Ahora que sabe qué son Nginx y Nginx RTMP, configuremos el servidor:
Configurar en el servidor
El primer paso es obtener acceso al servidor. Asegúrese de que SSH en su servidor esté habilitado y tenga las claves agregadas para un inicio de sesión más fácil.
SSH [email protected]
Debian@streaming: ~ $
Una vez que tengamos acceso al servidor, podemos comenzar a instalar los paquetes y bibliotecas requeridos. Primero, asegúrese de que su servidor esté actualizado:
actualización de sudo apt-get
sudo apt -get actualización -y
Instalación del software requerido
Para configurar el servidor de transmisión, necesitaremos construir Nginx desde la fuente y habilitar el módulo RTMP. Para esto, utilizaremos los esencias de construcción y otros paquetes. Use el comando APT a continuación para instalar todas las dependencias.
sudo apt-get install -y construye libpcre3 libpcre3-dev libssl-dev git zlib1g-devev
El siguiente paso es compilar e instalar NGINX con el módulo RTMP habilitado. Para mantenerse organizado, cree un directorio para el proceso.
mkdir ~/make
CD ~/Make/
A continuación, clone el módulo Nginx-RTMP:
Git clon git: // github.com/arut/nginx-rtmp-módulo.git
Ahora necesitamos descargar nginx.
Dirígete a http: // nginx.org/en/descargar.html y seleccione su opción de descarga.
wget http: // nginx.org/descargar/nginx-1.19.8.alquitrán.GZ
tar xzf nginx-1.19.8.alquitrán.GZ
CD nginx-1.19.8
El paso final en esta sección es compilar NGINX con el módulo RMTP habilitado. Use los comandos a continuación:
sudo ./Configurar-with-http_ssl_module --add-module = ... /nginx-rtmp-module
sudo haz
sudo haz instalar
Configuración de transmisión en vivo
Para habilitar el soporte RTMP, necesitamos editar el archivo de configuración de Nginx y especificar el bloque RTMP.
sudo nano/usr/local/nginx/conf/nginx.confusión
Ingrese el bloque de soporte RTMP como:
RTMP
servidor
escucha 1935;
Ping 30s;
Aplicación en vivo
vivir;
entrelazarse;
HLS ON;
hls_path /tmp /hls;
HLS_SYNC 100MS;
HLS_FRAGMENT 15S;
http
APLICACIÓN DE LA APLICACIÓN/OCTETA DEFORT_TYPE;
servidor
Escucha 80;
Ubicación /TV
raíz /tmp /hls;
tipos
Aplicación/VND.manzana.MPEGURL M3U8;
video/mp2t ts;
texto/html html;
En la configuración anterior, habilitamos el módulo RTMP y HLS. Considere la documentación para aprender a habilitar Dash.
Una vez que tenga la configuración, guarde el archivo e inicie el servicio NGINX.
sudo/usr/local/nginx/sbin/nginx
Comience a transmitir
Una vez que tenga todo configurado correctamente, puede comenzar a transmitirse usando ffmpeg-es el más fácil. También puede configurar otras herramientas como OBS Studio, pero no lo cubriré en este tutorial.
Use el comando ffmpeg como:
sudo ffmpeg -re -i muestra -mp4 -archivo.MP4 -C COPY -F HLS RTMP: // localhost/live/stream
Reproducir la transmisión usando el reproductor multimedia FFPlay o VLC en el recurso.
ffplay rtmp: // ip/live/stream
Una vez que tenga la transmisión en ejecución, puede exponer el servicio a una red externa.
NOTA: Asegúrese de haber asegurado su servidor antes de permitir el acceso público.
Conclusión
Este tutorial ha cubierto cómo configurar un servidor de transmisión utilizando NGINX y el módulo NGINX RTMP. Tenga en cuenta que hay muchos engranajes involucrados en la configuración de un servicio de transmisión, y puede personalizarlo de acuerdo con sus necesidades.
Considere los siguientes recursos para explorar más.