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 se vea en línea. Pueden mantener parte del contenido detrás de los anuncios e incorporar Términos de servicio confusos que ni siquiera pueden cumplir por sí mismos.
Hay personas que disfrutan de la capacidad de transmitir en vivo, pero no necesitan que sus videos estén disponibles para la gente importante. En cambio, preferirían tener más control sobre su transmisión y el material que producen. El software de código abierto, como Linux, es la mejor respuesta a esta barrera.
Pensando por adelantado
Antes de comenzar a configurar su propio servidor de transmisión personal, debe hacerse algunas preguntas. En primer lugar, ¿qué calidad de transmisión estás buscando? Entonces, ¿cuántos espectadores esperas atraer? ¿Dónde almacenará todo su contenido de transmisión? ¿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 en cuanto a lo que necesitará exactamente a este respecto, así que hágase un favor e intente averiguar 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 en tiempo real (RTMP) es una excelente opción, pero hay otros, como WebRTC, que pueden ser mejores para usted. RTMP tiene un amplio soporte, por lo que nos centraremos en eso para este artículo.
Otra cosa de la que preocuparse es que su transmisión «en vivo» puede retrasarse. El hecho de que vayas a vivir no significa que todo salga a la perfección. Las transmisiones de video deben codificarse, traducirse, almacenarse en búfer y mostrarse, así que espere algunos ajustes en los atributos de la transmisión.
Instalar servidor Linux
Ubuntu Linux es mi favorito personal, así que esa es la versión elegida aquí. Para aquellos que prefieren una opción de GUI, Ubuntu Desktop está disponible.
- Inicie el instalador de Ubuntu y seleccione 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 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 disponibles:
sudo apt update
sudo apt upgrade
Usaremos servidor web nginx un para este servidor de transmisión. Instalarlo:
sudo apt install nginx
Obtenga el módulo RTMP para que 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 recibir 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 flujo de trabajo.
Reinicie Nginx con su nueva configuración:
sudo systemctl restart nginx
Configuración del software de transmisión
El servidor está listo, por lo que es hora de configurar su software de transmisión. Usemos Open Broadcaster Software (OBS) durante esta ejecución.
- Vaya al sitio y seleccione la compilación para Linux. Después de iniciar 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 Fuente.
- Para la prueba, seleccione Captura de pantallae ingrese un nombre para la fuente.
- Clickea en el Okey y OBS reflejará su escritorio.
- A continuación, haga clic en el Archivo pestaña y seleccione Ajustes.
En la sección Transmisión, seleccione establezca el Tipo de transmisión en Personalizar… e ingrese la siguiente URL en el campo Servidor:
rtmp://IPaddress/live
En cambio dirección IPingrese la dirección IP de su servidor de transmisión.
Ahora cree su propia clave de transmisión e ingrésela en el cuadro Clave de transmisión. Haz algo que recuerdes y escríbelo. Para mayor seguridad, consulte la Usar autenticación cuadro y agregue sus credenciales favoritas.
Terminar con Aplicar Seguido por el Okey botón.
Ahora todo debería estar configurado para la transmisión. Para iniciar su primera transmisión, presione el botón Transmitir ahora botón. El botón cambiará a Detener transmisión siempre y cuando todo se haya hecho correctamente. Las métricas de ancho de banda para las transmisiones se mostrarán en la parte inferior de la ventana OBS.
Conviértete en un primer espectador
Hay muchos reproductores multimedia de código abierto que admiten RTMP, el más famoso de los cuales es el reproductor multimedia VLC. Para instalar y ejecutar este software, haga clic en el Medios de comunicación pestaña y seleccione Corriente de red abierta del menú.
¿Es conveniente su clave de transmisión? Escriba la ruta a su transmisión e incluya la clave de transmisión que configuró anteriormente, hasta el final de la transmisión. Debería verse como:
rtmp://IPaddress/live/SecretKey
Hacer clic Jugar y obtendrá una vista en vivo de su propia transmisión.
Medidas Adicionales
Ahora que se han hecho los conceptos básicos, hay otros dos factores que podrían interesarle: limitar el acceso a su servidor de transmisión y poder grabar y guardar sus videos.
De forma predeterminada, cualquiera puede ver tu transmisión. Esto puede ir en contra del propósito de crear el servidor en primer lugar. Querrá configurar el acceso restringido utilizando un firewall de Linux, un archivo .htaccess o los controles de acceso del módulo RTMP integrados. 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 una ruta existente para permitir que Nginx escriba en ella. Introduzca la siguiente:
aplicación en vivo {
vivir;
registro completo;
ruta_registro/var/www/html/grabaciones;
registro_único activado;
}
Eso es todo lo que debe necesitar al configurar un servidor de transmisión en vivo con el sistema operativo Ubuntu Linux. Si está más interesado en un servidor de transmisión de medios en vivo, le recomiendo usar Plex en lugar de OBS.