Un servidor RTMP es una solución que permite tra­n­s­mi­tir audio y vídeo en tiempo real a través de Internet, es­pe­cia­l­me­n­te para tra­n­s­mi­sio­nes en directo. Recibe la señal de streaming y la di­s­tri­bu­ye a pla­ta­fo­r­mas externas o di­re­c­ta­me­n­te a al público. Utilizar un servidor de streaming propio ofrece varias ventajas frente a los pro­vee­do­res en línea.

VPS gratis
Servidor virtual 30 días gratis

Co­n­vé­n­ce­te por ti mismo y elige un servidor virtual.

¿Qué es un servidor RTMP?

Los servicios de streaming están hoy en día muy ex­te­n­di­dos. En especial, la pla­ta­fo­r­ma de streaming Twitch forma parte del día a día de muchos afi­cio­na­dos a los vi­deo­jue­gos. Pero también las tra­n­s­mi­sio­nes en directo de otros ámbitos, como la música, el arte o la ga­s­tro­no­mía, son cada vez más populares.

Con un servidor RTMP no necesitas pla­ta­fo­r­mas como Twitch, ya que puedes crear tu propio servidor de streaming. Para ello se utiliza el llamado Real Time Messaging Protocol (RTMP). Este protocolo de red, de­sa­rro­lla­do por Adobe Inc., permite enviar co­n­te­ni­dos de vídeo y audio a un servidor de streaming para re­pro­du­ci­r­los en tiempo real.

Adobe dejó de dar soporte al Flash Player a finales de 2020, pero el protocolo RTMP sigue siendo muy utilizado. Aunque ya no se reproduce la tra­n­s­mi­sión di­re­c­ta­me­n­te en un navegador, las emisiones mediante RTMP pueden recibirse en apli­ca­cio­nes de vídeo como el re­pro­du­c­tor VLC o sus al­te­r­na­ti­vas. En co­n­fi­gu­ra­cio­nes modernas, RTMP no suele emplearse para la entrega directa al público. En su lugar, actúa como protocolo de ingesta, a través del cual la señal se envía desde un co­di­fi­ca­dor (por ejemplo, OBS) al servidor. La di­s­tri­bu­ción final a los di­s­po­si­ti­vos se realiza po­s­te­rio­r­me­n­te mediante pro­to­co­los como HLS (HTTP Live Streaming), DASH o WebRTC, co­m­pa­ti­bles con los na­ve­ga­do­res y di­s­po­si­ti­vos ha­bi­tua­les.

¿Qué ventajas ofrece un servidor RTMP?

Un servidor de streaming propio te permite emitir el contenido que elijas sin depender de las re­s­tri­c­cio­nes impuestas por pla­ta­fo­r­mas externas. Además, la pu­bli­ci­dad que a veces se inserta en las tra­n­s­mi­sio­nes de los servicios más ha­bi­tua­les no aparece cuando utilizas un servidor RTMP propio. Por ello, este tipo de se­r­vi­do­res está es­pe­cia­l­me­n­te extendido en el ámbito de los vi­deo­jue­gos.

No obstante, también puede resultar in­te­re­sa­n­te en otros contextos co­n­fi­gu­rar tu propio servidor de streaming. De este modo, puedes ofrecer tra­n­s­mi­sio­nes en directo o co­n­te­ni­dos de vídeo di­re­c­ta­me­n­te desde tu página web, sin tener que recurrir a pla­ta­fo­r­mas externas como, por ejemplo, YouTube. Esta opción puede ser es­pe­cia­l­me­n­te adecuada para se­mi­na­rios web.

Re­qui­si­tos para la co­n­fi­gu­ra­ción de un servidor RTMP

Antes de comenzar con la co­n­fi­gu­ra­ción de tu propio servidor de streaming, debes tener en cuenta algunos aspectos básicos. En primer lugar, es necesario elegir una solución de servidor adecuada. Como no­r­ma­l­me­n­te querrás ga­ra­n­ti­zar una tra­n­s­mi­sión sin in­te­rru­p­cio­nes para un número elevado de personas, no conviene confiar úni­ca­me­n­te en la capacidad de tu PC o portátil, es­pe­cia­l­me­n­te si también lo utilizas para jugar. El ancho de banda de tu conexión a Internet desempeña un papel decisivo en la elección de la in­frae­s­tru­c­tu­ra adecuada.

Potencia de pro­ce­sa­dor (CPU)

En principio, un servidor RTMP no requiere una gran potencia de cálculo. Un solo núcleo de CPU puede ser su­fi­cie­n­te para proyectos pequeños sin tra­n­s­co­di­fi­ca­ción. No obstante, si el servidor también se encarga de la tra­n­s­co­di­fi­ca­ción, los re­qui­si­tos de re­n­di­mie­n­to pueden aumentar co­n­si­de­ra­ble­me­n­te.

Memoria de trabajo (RAM)

En cuanto a la memoria de trabajo, un servidor RTMP tampoco suele plantear grandes exi­ge­n­cias. Para proyectos pequeños, 4 GB pueden ser su­fi­cie­n­tes. Si prevés un uso más intensivo o mayores volúmenes de tra­n­s­mi­sión, es re­co­me­n­da­ble optar por 8 GB.

Al­ma­ce­na­mie­n­to en disco duro

Los archivos de in­s­ta­la­ción del software NGINX necesario no son es­pe­cia­l­me­n­te grandes. Por ello, solo debes prestar atención al al­ma­ce­na­mie­n­to en disco si deseas guardar las tra­n­s­mi­sio­nes en el servidor. En ese caso, la duración de la tra­n­s­mi­sión y su calidad serán factores de­te­r­mi­na­n­tes.

Ancho de banda

El ancho de banda requiere una atención especial. Debes tener en cuenta el volumen de datos de la tra­n­s­mi­sión, que depende pri­n­ci­pa­l­me­n­te de la calidad de imagen y sonido. Este valor se mu­l­ti­pli­ca tanto por el número de es­pe­c­ta­do­res como por el número de tra­n­s­mi­sio­nes si­mu­l­tá­neas. Si deseas di­s­tri­buir varias tra­n­s­mi­sio­nes a través de un mismo servidor, el ancho de banda di­s­po­ni­ble deberá aumentar en co­n­se­cue­n­cia.

Alojar un servidor RTMP en IONOS

En IONOS en­co­n­tra­rás tres opciones di­fe­re­n­tes de so­lu­cio­nes de servidor:

  • Servidor dedicado: el hardware se utiliza ex­clu­si­va­me­n­te para tu servidor, con fa­c­tu­ra­ción por minutos.
  • Servidor virtual: en un servidor virtual privado (VPS), el entorno se vi­r­tua­li­za sobre hardware dedicado.
  • Servidor cloud: ofrece máxima fle­xi­bi­li­dad, ya que los recursos pueden añadirse o retirarse rá­pi­da­me­n­te según las ne­ce­si­da­des.

Las so­lu­cio­nes se di­fe­re­n­cian pri­n­ci­pa­l­me­n­te en su fle­xi­bi­li­dad y en el modelo de fa­c­tu­ra­ción. Los se­r­vi­do­res cloud y los se­r­vi­do­res dedicados se facturan por minutos. En cuanto elimines los recursos, es decir, borres el servidor, dejarás de generar costes. En cambio, con un servidor virtual deberás prever un pre­su­pue­s­to mensual. Además, un servidor cloud ofrece una gran fle­xi­bi­li­dad: con unos pocos clics puedes añadir más recursos, como espacio de al­ma­ce­na­mie­n­to, memoria o núcleos de CPU, o volver a re­du­ci­r­los según sea necesario.

Paso a paso hasta tu servidor RTMP

En la siguiente guía te mostramos cómo co­n­fi­gu­rar tu propio servidor RTMP de forma sencilla. Para el ejemplo uti­li­za­mos un servidor cloud de IONOS con Windows. Si empleas una di­s­tri­bu­ción de Linux como sistema operativo, tendrás que adaptar algunos pasos.

Paso 1: establece la conexión con el servidor

En primer lugar, debes co­ne­c­tar­te al servidor. Para ello, inicia sesión en tu cuenta de IONOS y accede al área “Server & Cloud”. Tras se­le­c­cio­nar el contrato co­rre­s­po­n­die­n­te, entrarás en el Cloud Panel. En la sección de datos de acceso en­co­n­tra­rás el enlace “Conexión a es­cri­to­rio remoto” (Remote Desktop co­n­ne­c­tion).

Al hacer clic en este enlace, el navegador de­s­ca­r­ga­rá un archivo que carga au­to­má­ti­ca­me­n­te la co­n­fi­gu­ra­ción adecuada para la he­rra­mie­n­ta de Windows “Conexión a es­cri­to­rio remoto”. Después, solo tendrás que in­tro­du­cir la co­n­tra­se­ña, di­s­po­ni­ble también en el Cloud Panel, y es­ta­ble­cer la conexión. De este modo accederás al es­cri­to­rio del servidor.

Imagen: Vista del Cloud Panel de IONOS en un servidor RTMP
En los ajustes del servidor en el Cloud Panel en­co­n­tra­rás el archivo necesario para la conexión remota con tu servidor RTMP.

Si no trabajas con un PC con Windows, también puedes es­ta­ble­cer una conexión remota. En ese caso, descarga un software de es­cri­to­rio remoto co­m­pa­ti­ble y utiliza los datos del Cloud Panel para iniciar sesión.

Paso 2: instala NGINX con el módulo RTMP

Para el servidor RTMP uti­li­za­mos NGINX. NGINX es en realidad un servidor web, pero gracias a un módulo adicional también permite realizar tra­n­s­mi­sio­nes mediante RTMP.

Nota

El paquete oficial de NGINX para Windows no incluye el módulo RTMP de forma pre­de­te­r­mi­na­da. Para utilizar RTMP necesitas una versión de NGINX compilada con el módulo de terceros nginx-rtmp-module. Con el comando nginx -V puedes comprobar si el módulo RTMP está incluido en tu versión. En la salida debería aparecer una re­fe­re­n­cia a “nginx-rtmp-module”.

Descarga, por tanto, una versión pre­co­m­pi­la­da del software en la que el módulo ya esté incluido. Un ejemplo es la co­m­pi­la­ción nginx-rtmp-win32, di­s­po­ni­ble como binario para Windows en GitHub. Estas versiones incluyen el módulo RTMP compilado y evitan la compleja co­m­pi­la­ción manual. Puedes iniciar NGINX desde el símbolo del sistema. Para ello, abre la consola, navega hasta la carpeta de­s­co­m­pri­mi­da y ejecuta el siguiente comando:

start nginx
bash

No se abrirá ninguna ventana adicional; el servidor se ejecuta en segundo plano. Para comprobar que NGINX funciona co­rre­c­ta­me­n­te, abre en el navegador la dirección IP del servidor. Deberías ver la página de bie­n­ve­ni­da de NGINX.

Paso 3: configura RTMP

Para que tu servidor esté preparado para RTMP, debes ajustar el archivo de co­n­fi­gu­ra­ción. En la carpeta de NGINX en­co­n­tra­rás el archivo “nginx.conf”. Ábrelo con un editor de texto y añade al final el siguiente bloque rtmp (y, si es necesario, integra la co­n­fi­gu­ra­ción HLS en el bloque http ya existente):

rtmp {
server {
listen 1935;
chunk_size 4096;
application live {
live on;
record off;
# Activar HLS
hls on;
hls_path C:/nginx/hls;
hls_fragment 3s;
hls_playlist_length 30s;
}
}
}
http {
server {
listen 8080;
location /hls {
types {
application/vnd.apple.mpegurl m3u8;
video/mp2t ts;
}
root C:/nginx;
add_header Cache-Control no-cache;
add_header Access-Control-Allow-Origin *;
}
}
}
nginx

Esta co­n­fi­gu­ra­ción permite que el servidor acepte tra­n­s­mi­sio­nes entrantes mediante RTMP en el puerto 1935. Dentro de la apli­ca­ción live, la señal se procesa y, al activar HLS, se divide en pequeños fra­g­me­n­tos de vídeo junto con un archivo de lista de re­pro­du­c­ción.

El bloque http pone estos archivos HLS a di­s­po­si­ción a través del puerto 8080, de modo que puedan re­pro­du­ci­r­se en el navegador o en re­pro­du­c­to­res co­m­pa­ti­bles. Mientras que RTMP se utiliza para la ingesta de la tra­n­s­mi­sión, HLS se encarga de la entrega final al público.

Para aplicar la nueva co­n­fi­gu­ra­ción, vuelve al símbolo del sistema y reinicia NGINX:

nginx -s stop
start nginx
bash
Nota

Sin medidas de pro­te­c­ción adi­cio­na­les, cualquier persona que conozca la dirección de tu servidor podría enviar una tra­n­s­mi­sión a la apli­ca­ción “live”. Esto puede dar lugar a usos indebidos o a emisiones no deseadas. Para evitarlo, puedes re­s­tri­n­gir el acceso, por ejemplo, a de­te­r­mi­na­das di­re­c­cio­nes IP o a una red interna. Añade dentro del bloque application live de tu archivo de co­n­fi­gu­ra­ción las si­guie­n­tes líneas:

application live {
	live on;
allow publish 192.168.1.0/24;
deny publish all;
}
nginx

En este ejemplo, solo los di­s­po­si­ti­vos de la red 192.168.1.x pueden enviar una tra­n­s­mi­sión al servidor. Todas las demás co­ne­xio­nes se bloquean au­to­má­ti­ca­me­n­te.

Paso 4: abre el puerto

Para que otras personas puedan acceder a tu tra­n­s­mi­sión, debes abrir en el co­r­ta­fue­gos del servidor el puerto TCP co­rre­s­po­n­die­n­te. Si eres cliente de IONOS, inicia sesión en tu cuenta y abre el Cloud Panel. En el menú “Red” en­co­n­tra­rás la co­n­fi­gu­ra­ción del co­r­ta­fue­gos. Allí debes abrir el puerto TCP 1935 para RTMP.

Imagen: Cloud Panel: configuración del cortafuegos del servidor con puerto abierto para RTMP
En el Cloud Panel, abre el puerto 1935 para que se pueda acceder a tu servidor de streaming.

Si utilizas HLS, también debes crear una regla para el puerto 8080. Además del co­r­ta­fue­gos del Cloud Panel, es necesario ajustar el co­r­ta­fue­gos de Windows Server. Para ello, abre el Firewall de Microsoft Defender con seguridad avanzada y crea una nueva regla de entrada para el puerto TCP 1935 (RTMP) y, si procede, para el puerto 8080 (HLS).

Como al­te­r­na­ti­va, también puedes crear la regla mediante Po­we­r­She­ll con un comando sencillo:

New-NetFirewallRule -DisplayName "RTMP Server" -Direction Inbound -Protocol TCP -LocalPort 1935 -Action Allow
bash
Nota

En algunas redes co­r­po­ra­ti­vas o redes wifi públicas, el puerto RTMP estándar 1935 puede estar bloqueado. En estos casos, RTMP puede funcionar al­te­r­na­ti­va­me­n­te a través del puerto 443 (TCP), que suele estar abierto para co­ne­xio­nes HTTPS. Sin embargo, esta co­n­fi­gu­ra­ción requiere un servidor y una co­n­fi­gu­ra­ción de NGINX adaptados, por lo que está pensada para usuarios con ex­pe­rie­n­cia.

Paso 5: inicia el stream

Ahora ya has co­n­fi­gu­ra­do todos los ajustes y puedes enviar tra­n­s­mi­sio­nes a tu servidor RTMP. Para ello, necesitas un programa de streaming. Uno de los más populares es OBS. En el software deberás in­tro­du­cir la dirección del servidor con el siguiente formato:

rtmp://<direccion-IP>/live/stream
txt

Sustituye <direccion-IP> por la dirección IP correcta de tu servidor, que también en­co­n­tra­rás en el Cloud Panel. A través de esta URL la tra­n­s­mi­sión llega primero al servidor RTMP; la entrega final a los es­pe­c­ta­do­res se realiza po­s­te­rio­r­me­n­te mediante un protocolo de di­s­tri­bu­ción in­de­pe­n­die­n­te, como HLS.

Ir al menú principal