RTMP permite la tra­n­s­mi­sión fluida de contenido de vídeo y audio. El protocolo de red es esencial para la tra­n­s­mi­sión de señales co­di­fi­ca­das al CDN, siglas de Content Delivery Networks.

Free Cloud Server Trial
Servidor virtual privado para empresas
  • vServer basado en KVM para de­sa­rro­lla­do­res
  • Integrado en IONOS Compute Engine
  • Escalable hasta la nube em­pre­sa­rial Incl. 200 € de crédito inicial en el 1er mes

La historia del Real Time Messaging Protocol

El RTMP fue de­sa­rro­lla­do por Adobe Inc. En sus inicios, servía para tra­n­s­fe­rir datos entre los se­r­vi­do­res y Adobe Flash Player, que se utilizaba a gran escala. Por ello, se hacía un uso ge­ne­ra­li­za­do del Real Time Messaging Protocol. Sin embargo, que Adobe Flash Player dejara de funcionar a finales de 2020, no ha impedido que RTMP siga contando con gran po­pu­la­ri­dad. De hecho, es el protocolo de red más utilizado para strea­mi­n­gs. No obstante, para tra­n­s­mi­tir el stream a di­s­po­si­ti­vos finales modernos, que a menudo ya no soportan RTMP debido a HTML5, se suele utilizar una co­m­bi­na­ción de RTMP y HLS.

Así funciona el Real Time Messaging Protocol

Para ofrecer co­n­te­ni­dos de audio o vídeo en streaming a través de Internet, primero hay que codificar la señal con los co­di­fi­ca­do­res de streaming. A co­n­ti­nua­ción, la señal co­di­fi­ca­da se transmite a un servidor RTMP por medio del RTMP. El protocolo también se encarga de tra­n­s­mi­tir las señales co­di­fi­ca­das al Content Delivery Network o a una pla­ta­fo­r­ma de vídeo online. La forma exacta en la que se realiza esta tra­n­s­mi­sión depende de la versión de RTMP utilizada.

La versión estándar del protocolo de red utiliza TCP como protocolo de tra­n­s­po­r­te a través del puerto 1935. Lo primero que ocurre es que el cliente y el servidor se in­te­r­ca­m­bian bloques de datos. Este proceso se denomina handshake y es el que permite que el servidor sea informado de la versión del protocolo que se está uti­li­za­n­do. Además, el servidor también recibe una marca de tiempo. Una vez recibidos ambos paquetes de datos, se puede es­ta­ble­cer la conexión en cuanto el servidor lo permita.

Para es­ta­ble­cer dicha conexión, el cliente envía al servidor una solicitud de conexión (connect request) en formato de mensaje de acción y espera su respuesta. Una vez el cliente recibe la co­n­fi­r­ma­ción de la solicitud de conexión por parte del servidor, este puede iniciar la tra­n­s­mi­sión en tiempo real.

En la práctica, lo que se ha es­ta­ble­ci­do es una conexión pe­r­si­s­te­n­te con la que se pueden tra­n­s­mi­tir datos en tiempo real. Los datos de streaming se tra­n­s­mi­ten en bloques de di­fe­re­n­tes tamaños. Para los datos de vídeo, el tamaño del bloque es de 128 bytes, mientras que en el caso de los datos de audio, los bloques tienen un tamaño de 64 bytes. La latencia de RTMP es re­la­ti­va­me­n­te baja debido al uso de TCP.

Otra variante del Real Time Messaging Protocol es el RTMPT basado en HTTP. En esta variante se utiliza una técnica de tu­ne­li­za­ción para eludir los co­r­ta­fue­gos. RTMPS, basado en HTTPS, funciona de forma similar.

Desde el servidor RTMP también se puede tra­n­s­mi­tir el flujo di­re­c­ta­me­n­te a los di­s­po­si­ti­vos finales mediante HLS.

Ámbitos de apli­ca­ción del RTMP

En general, el Real Time Messaging Protocol se utiliza en dos ámbitos. El primer caso de uso de RTMP es la tra­n­s­mi­sión de datos entre un co­di­fi­ca­dor y un servidor. Este escenario se conoce como “First Mile Delivery”.

Dado que Flash Player ya no existe, RTMP ya no puede uti­li­zar­se para enviar datos di­re­c­ta­me­n­te a los usuarios finales. Por lo tanto, el segundo caso de uso implica utilizar un Content Delivery Network o una pla­ta­fo­r­ma de vídeo online. Fi­na­l­me­n­te, se utiliza RTMP para reenviar los datos del servidor.

Consejo

Si quieres crear tu propio servidor RTMP, primero debes escoger un sistema operativo para dicho servidor. Puedes optar por Windows o por una de las di­fe­re­n­tes di­s­tri­bu­cio­nes de Linux para se­r­vi­do­res.

Ir al menú principal