menu

Configuración de un Servidor de Streaming con Nginx y RTMP y AWS

Contexto

La empresa Terraformadores de Venus ha recibido una solicitud especial desde el IES La Sénia. Quieren retransmitir en directo la fiesta de graduación para aquellos que no puedan asistir en persona. Como especialistas en infraestructura tecnológica, debemos ofrecerles una solución eficiente y accesible.

Objetivo

Debemos configurar un servidor de streaming en vivo utilizando Nginx con el módulo RTMP. La señal de audio y video se capturará desde el auditorio con OBS Studio, utilizando un micrófono y una webcam. Los espectadores podrán conectarse y ver la retransmisión en VLC Media Player.

Además, queremos mejorar el servicio añadiendo la posibilidad de visualizar la retransmisión desde una página web. Para ello, implementaremos HLS (HTTP Live Streaming) y usaremos la biblioteca Video.js para incrustar el reproductor en una página web.
Importante La instancia de AWS queremos que mantenga la IP pública. Configura su ip elástica.

Fase 1: Creación de la Página Web Promocional

Antes de comenzar con la configuración del servidor, el equipo de Terraformadores de Venus debe diseñar una página web para anunciar su nuevo servicio de streaming. La web debe cumplir los siguientes requisitos:

  • Título y presentación del servicio. Explicar brevemente qué ofrece Terraformadores en el ámbito del streaming.
  • Sección del evento. Un apartado especial que anuncie la retransmisión en vivo de la graduación del IES La Sénia, incluyendo un enlace al evento en streaming.

Esta primera fase os permitirá familiarizarse con Nginx como servidor web antes de implementar el streaming.

Fase 2: Configuración del Servidor de Streaming

Una vez creada la página web, pasaremos a la configuración del servidor de streaming en un servidor Ubuntu Server en AWS con Nginx y el módulo RTMP. En esta fase, se deberá:

  • Configurar Nginx para recibir la señal de OBS y retransmitirla vía RTMP. Podemos probar el funcionamiento con un reproductor VLC Player.
  • Implementar HLS para permitir la visualización en navegadores web. Podemos probar con una página web que incluya el reproductor con Video.js.