Cree su propio servidor de transmisión de video en vivo con Linux

La mayoría de las herramientas y sitios de transmisión en vivo son gratuitos para el público, pero a menudo requieren que cree una cuenta, lo que proporciona información que quizás no desee que aparezca en línea. Pueden contener algún contenido detrás de los anuncios e incorporar Términos de servicio confusos que es (Service)posible(can ) que ni siquiera se adhieran a ellos mismos. 

Hay quienes disfrutan de la capacidad de transmitir en vivo, pero no necesitan que sus videos estén disponibles para las masas. En cambio, preferirían tener más control sobre su transmisión y el contenido que producen. El software de código(Open-source) abierto, como Linux , es la mejor respuesta a este obstáculo.

Pensando por adelantado(Thinking Ahead)

Antes de comenzar a configurar su propio servidor de transmisión personal, debe hacerse algunas preguntas. Primero(First) , ¿qué calidad de transmisión estás buscando? A continuación(Next) , ¿cuántos espectadores espera atraer? ¿Dónde almacenará todo su contenido transmitido? ¿Quién tendrá acceso a ese contenido?

Los requisitos del sistema también pueden verse como una preocupación. Sin embargo, no hay reglas establecidas sobre lo que necesitará exactamente en este sentido, así que hágase un favor y experimente para ver qué funciona mejor para sus objetivos.

Deberá averiguar qué protocolo manejará la parte de audio y video de la transmisión. El protocolo de mensajería(Messaging Protocol) en tiempo real ( RTMP ) es una excelente opción, pero hay otros, como WebRTC , que podrían funcionar mejor en su situación. RTMP tiene un amplio soporte, por lo que nos centraremos en eso para este artículo.

Otra cosa de la que preocuparse son los posibles retrasos en su transmisión "en vivo". El hecho de que vayas a vivir no significa que todo se alineará perfectamente. Los(Video) flujos de video deben codificarse, transferirse, almacenarse en búfer y mostrarse, así que espere que sea necesario ajustar un poco los atributos del flujo.

Configuración del servidor Linux(Linux Server Setup)

Ubuntu Linux es mi favorito personal, por lo que será la versión de elección aquí. Para aquellos que prefieren una opción de GUI , Ubuntu Desktop está disponible. 

  • Inicie(Fire) el instalador de Ubuntu y elija la configuración que mejor se adapte a sus necesidades. Probablemente querrá establecer algunas configuraciones de red estáticas ya que esto se usará como un servidor.
  • Reinicie(Reboot) el sistema después de la instalación si no lo hace automáticamente. Una vez que se inicie el sistema Ubuntu , instale las actualizaciones que estén disponibles:
sudo apt update
sudo apt upgrade

Usaremos el servidor web Nginx(Nginx web server) para este servidor de transmisión. Instalarlo:

sudo apt install nginx

Adquiera el módulo RTMP para que (RTMP)Nginx pueda manejar su flujo de medios:

sudo add-apt-repository universe
sudo apt install libnginx-mod-rtmp

Ajuste la configuración de Nginx para que pueda aceptar y entregar su flujo de medios.

sudo nano /etc/nginx/nginx.conf

Agregue el siguiente código al final del archivo de configuración:

rtmp {
        server {
                listen 1935;
                chunk_size 4096;

                application live {
                        live on;
                        record off;
                }
        }
}

Guarde el archivo de configuración, ya que lo usaremos más adelante para crear un servidor de transmisión que funcione.

Reinicie Nginx(Restart Nginx) con su nueva configuración:

sudo systemctl restart nginx

Configuración del software de transmisión(Streaming Software Setup)

El servidor está listo, así que ahora es el momento de configurar su software de transmisión. Usemos Open Broadcaster Software (OBS) en este ensayo. 

  • Dirígete al sitio y selecciona la compilación para Linux . Después de que se inicie el software, configure OBS con la configuración que mejor se adapte a su hardware.
  • Agregue una fuente de transmisión haciendo clic en + justo debajo de Fuente(Source) .

  • Por motivos de prueba, elija Captura(Display Capture) de pantalla e ingrese un nombre para la fuente.
  • Haga clic en el botón Aceptar(OK) y OBS reflejará su escritorio.
  • A continuación, haga clic en la pestaña Archivo y (File)seleccione Configuración(Settings)

En la sección Transmisión, seleccione establecer Tipo de transmisión en Personalizado...(set Stream Type to Custom…) e ingrese la siguiente URL en el campo Servidor(Server) :

rtmp://IPaddress/live 

En lugar de IPaddress , ingrese la dirección IP de su servidor de transmisión.

Ahora cree su propia clave(Stream Key) de transmisión e ingrésela en el cuadro(Stream) Clave de transmisión. Haz que sea algo que recordarás y escríbelo. Para mayor seguridad, marque la casilla Usar autenticación(Use authentication ) y agregue sus credenciales preferidas.

Finalice con Aplicar(Apply) seguido del botón Aceptar(OK) .

Ahora todo debería estar configurado para la transmisión. Para comenzar su primera transmisión, presione el botón Transmitir ahora(Stream Now) . El botón cambiará a Detener transmisión(Stop Streaming) siempre que todo se haya hecho correctamente. Las métricas de ancho de banda de tu flujo aparecerán en la parte inferior de la ventana OBS .

Sea su primer espectador(Be Your First Viewer)

Hay muchos reproductores multimedia de código abierto que admiten RTMP , el más conocido de los cuales es el reproductor multimedia VLC(VLC media player) . Instale y ejecute este software, haga clic en la pestaña Medios(Media) y seleccione Abrir transmisión(Open Network Stream) de red en el menú. 

¿Tienes(Got) tu Stream Key a mano? Escriba la ruta a su transmisión e incluya la clave(Stream Key) de transmisión que configuró anteriormente, hasta el final. Debería verse como:

rtmp://IPaddress/live/SecretKey

Haga clic en Reproducir(Play) y obtendrá una vista en vivo de su propia transmisión.

Medidas Adicionales(Additional Measures)

Ahora que se han logrado los conceptos básicos, limitar el acceso a su servidor de transmisión y poder grabar y guardar sus videos son otros dos factores que pueden interesarle.

De forma predeterminada, cualquiera puede ver tu transmisión. Esto puede ir en contra del propósito de crear el servidor en primer lugar. Deberá configurar el acceso limitado mediante un firewall de Linux , un (Linux)archivo .htaccess(.htaccess file) o los controles de acceso integrados en el módulo RTMP(built-in access controls in the RTMP module) . Esta elección se deja a usted.

La configuración de Nginx proporcionada aquí solo le permitirá transmitir videos, pero no guardarlos. Para agregar una opción de almacenamiento, en la configuración de Nginx , justo debajo de la sección RTMP , puede configurar las opciones de grabación de transmisión y proporcionar una ubicación donde desea guardar y almacenar su contenido. 

Establezca(Set) una ruta existente para permitir que Nginx escriba en ella. Introduzca la siguiente:

aplicación en vivo { (application live {)
             en vivo en; (             live on;)
             grabar todo; (             record all;)
             record_path /var/www/html/recordings;
             registro_único activado; (             record_unique on;)
}

Eso es todo lo que debe necesitar al configurar un servidor de transmisión en vivo con el sistema operativo Ubuntu Linux(Ubuntu Linux OS) . Si está más interesado en un servidor de transmisión de medios que no sea en vivo, le sugiero que use Plex en lugar de OBS.



About the author

Soy un ingeniero de software de tiempo completo con más de 10 años de experiencia trabajando con software de Windows y Mac. Sé cómo diseñar, probar y desplegar aplicaciones en ambas plataformas. También tengo experiencia en seguridad y administración de sistemas. Mis habilidades y conocimientos pueden ayudarlo a construir un sistema informático mejor y más eficiente.



Related posts