close menu

Guía completa de RTMP: ¿Qué es y cuándo utilizarlo?

Complete Guide To RTMP

El protocolo de mensajería en tiempo real (RTMP) es un formato de streaming muy utilizado. Existe desde hace muchos años y se ha convertido en una herramienta esencial para las emisoras, los operadores de red y muchos otros sectores. Sin embargo, algunos conceptos erróneos sobre el RTMP han hecho que sea menos popular de lo que podría ser.

Pero, ¿qué es exactamente el RTMP? ¿Cómo funciona? ¿Y debería utilizarlo para su próxima transmisión en directo?

Descubra esto y mucho más a continuación.

¿Qué es el RTMP?

RTMP es un protocolo de red o un sistema utilizado para transmitir contenidos multimedia a través de Internet basado en la tecnología del Protocolo de Control de Transmisión (TCP).

TCP es uno de los componentes que conforman el conjunto de protocolos de Internet. El otro componente importante es el protocolo de Internet, también conocido como IP.

RTMP es un protocolo de red o un sistema utilizado para transmitir contenidos multimedia a través de Internet.

Juntos, TCP e IP actúan como puentes de comunicación entre las capas de aplicación y de red. Piénsalo así: la capa de aplicación abarca lo que normalmente interactúa, como el navegador Mozilla Firefox o cualquier otra aplicación de usuario.

Para que tu navegador Firefox cargue una página web, debe enviar una petición al servidor del sitio web. Al recibir la solicitud, el servidor envía el recurso solicitado (es decir, un flujo de vídeo, un vídeo pregrabado en YouTube o el código Html de la página web).

Para mantener una comunicación efectiva (es decir, evitar que la correspondencia se caiga o se retrase), el mensaje debe ser desmontado en piezas más pequeñas conocidas como paquetes. Esto se hace en el lado del remitente y, una vez recibido el mensaje, se vuelve a ensamblar para el usuario.

TCP es el componente que se encarga de dividir el mensaje en paquetes o trozos más pequeños que puedan ser transmitidos de forma eficaz y eficiente.

La capa IP actúa como agente de reenvío que determina las mejores rutas para transmitir los paquetes a través de Internet.

El protocolo RTMP es utilizado por muchos reproductores multimedia populares, como Adobe Flash Player, VLC Media Player, QuickTime Player y Windows Media Player. RTMP también es compatible con algunos navegadores web, como Google Chrome y Mozilla Firefox.

La principal preocupación de la mayoría de los usuarios con una solución de streaming es la forma en que entrega el contenido. Si la calidad de la resolución de la transmisión es baja, la mayoría de los consumidores no la aceptarán. Del mismo modo, una solución de streaming con una alta latencia y con búferes o cargas demasiado largas antes de reproducir el contenido no tendrá buenos resultados.

Aquí es donde brilla el RTMP. Desde su desarrollo, RTMP ha garantizado una baja latencia, un buffering mínimo y una de las mejores calidades de resolución de streaming siempre que la conexión de red sea lo suficientemente fuerte y rápida.

Otro punto a favor de RTMP es su capacidad para soportar el streaming masivo de forma simultánea y sin mayores problemas.

Sin embargo, a pesar de que existe desde hace muchos años, el RTMP ha sido recientemente objeto de un mayor escrutinio porque el sistema es inseguro para sus usuarios.

Así es como se produce la(s) vulnerabilidad(es) de seguridad:

En primer lugar, el protocolo RTMP no tiene ninguna encriptación incorporada. Por lo tanto, cualquier comunicación o transferencia de paquetes mientras se utiliza el RTMP está abierta a ser escuchada por grupos no autorizados o ataques de tipo man-in-the-middle.

Otro factor que contribuyó a la vulnerabilidad de seguridad de RTMP es que su código fuente fue propietario durante mucho tiempo. El software propietario (es decir, el software cuya propiedad y derechos de control están limitados a la entidad que lo desarrolló o compró) suele recibir parches de seguridad que aparecen regularmente, pero no es suficiente.

Las nuevas vulnerabilidades surgen con frecuencia, y la comunidad creada en torno al software de código abierto garantiza parches de seguridad relativamente más frecuentes y mejores. Esto es lo que le faltó a RTMP para mejorar su postura de seguridad.

Pruebe Wave.video Live Streaming

Plataforma de multistreaming robusta y fácil de usar para streamers de cualquier nivelPruebe ahora

Variaciones de RTMP

Las variaciones de RTMP incluyen lo siguiente:

  • Servidor de Protocolo de Mensajería en Tiempo Real (RTMPS) - es bastante parecido a RTMP sólo que tiene encriptación, es decir, capa de sockets seguros (SSL) y Seguridad de la Capa de Transporte (TLS) habilitadas, y soporta todos los reproductores con Flash player habilitado. Se utiliza en escenarios en los que es vital evitar la manipulación o el acceso no autorizado de los datos en tránsito.
  • Protocolo cifrado de mensajería en tiempo real (RTMPE): es un protocolo de transmisión muy versátil que utiliza tanto el Protocolo de Control de Transporte (TCP) como el Protocolo de Datagramas de Usuario (UDP) para transmitir datos. RTMPE también codifica todas las transmisiones de datos utilizando la codificación propia de Adobe para evitar el acceso no autorizado y la manipulación.
  • Túnel de Protocolo de Mensajería en Tiempo Real (RTMPT) - El RTMPT emplea un mecanismo de túnel para eludir los cortafuegos que suelen bloquear todo el tráfico RTMP. En la práctica, RTMPT requiere que el cliente envíe una petición HTTP modificada al servidor, que responde con una transmisión HTTP casi similar. El cliente y el servidor utilizan un identificador de sesión; una vez establecida la conexión, puede comenzar la transmisión de datos entre ambos.
  • Protocolo de Flujo de Medios en Tiempo Real (RTMFP) - El RTMFP es una versión mejorada del RTMP, ya que emplea un formato de codificación diferente, el UDP, para lograr un flujo de medios de alto rendimiento.

Historia del streaming RTMP

El protocolo de mensajería en tiempo real (RTMP) fue inicialmente un protocolo propietario desarrollado por Macromedia para la transmisión de audio, vídeo y datos a través de Internet entre un reproductor Flash y un servidor.

En la actualidad, numerosos servicios online populares como Facebook, Twitch y Twitter utilizan RTMP para la transmisión de vídeo en directo.

La primera versión pública de RTMP fue en 2002. En 2009, Adobe publicó una versión de especificación abierta de RTMP conocida como OpenRTMP. La principal diferencia entre RTMP y OpenRTMP es que con OpenRTMP se puede utilizar cualquier servidor de medios en lugar de solo Flash Media Server (FMS).

También hay más flexibilidad con la especificación RTMP abierta en cuanto a cómo los desarrolladores pueden asegurar o configurar la funcionalidad peer-to-peer. Con ello se pretende fomentar la innovación y la colaboración mediante la competencia y el acceso abierto entre los desarrolladores para desarrollar la solución RTMP ideal.

El principio fundamental

El RTMP utiliza una técnica llamada "streaming" para entregar los contenidos. Eso significa que los datos se transfieren en pequeños trozos llamados "chunks". Los chunks se reensamblan en el otro extremo, de modo que el usuario puede ver o escuchar el contenido sin esperar a descargarlo por completo.

El funcionamiento del RTMP consta de dos partes: La entrega de primera y última milla.

La entrega de primera milla generalmente implica la transmisión de medios desde el codificador hasta el servidor utilizando RTMP. La entrega de última milla se refiere a la transmisión de los medios desde el servidor hasta el dispositivo del usuario. En esta segunda parte se utiliza un reproductor Flash o una herramienta igualmente capaz. Hay informes de que Adobe está dejando de dar soporte a Flash; por lo tanto, esto significa el fin de la entrega de última milla.

En respuesta, la industria ha adoptado el Protocolo de Transferencia de Hipertexto (HTTP), una solución de streaming más eficiente.

Las variantes de RTMP, como RTMPT, emplean actualmente HTTP para encapsular y transmitir los medios.

Cómo funciona la ingesta RTMP

Esta es probablemente una de las razones por las que RTMP se ha mantenido en funcionamiento durante tanto tiempo. A medida que el mundo se aleja de la visualización de los medios de comunicación en los ordenadores y se acerca a la visualización móvil, RTMP se enfrentó a un desafío.

Por un lado, RTMP se basaba en el reproductor Adobe Flash para ofrecer su experiencia de streaming sin fisuras, pero había un pequeño problema. Los dispositivos móviles no admitían el reproductor Adobe Flash; básicamente, RTMP se volvió inútil para los usuarios que querían los mismos servicios de streaming en sus dispositivos móviles.

En respuesta, Apple desarrolló el protocolo HLS para apoyar la función de streaming en los dispositivos móviles.

Era razonable esperar que el RTMP quedara obsoleto. Afortunadamente, sobrevivió con la ingesta de RTMP, creando su nicho como el protocolo ideal para transportar medios desde el codificador hasta el servidor.

La ingesta RTMP da prioridad a los codificadores de bajo coste para que funcionen y, por lo general, ofrece una transmisión de baja latencia a los usuarios.

Tiene tres componentes principales:

1. El apretón de manos

Cuando un cliente quiere conectarse a un servidor RTMP, primero tiene que establecer un "handshake". Este proceso comienza con el envío por parte del cliente de una solicitud de "conexión" al servidor, que incluye información sobre el cliente y el tipo de conexión que intenta establecer.

El servidor responde entonces con un mensaje de "conectado", que incluye información sobre el servidor y el tipo de conexión que se ha establecido.

Por último, el cliente y el servidor intercambian mensajes para confirmar que ambos siguen conectados y para negociar los parámetros necesarios para la conexión.

2. La conexión

El objetivo principal de la conexión de ingesta RTMP es proporcionar un medio para la transmisión de contenidos multimedia desde una fuente a un destino.

La fuente de los medios puede ser una cámara en directo, un vídeo pregrabado, audio u otros medios. El destino suele ser un servidor de streaming, que distribuye el contenido a los espectadores.

Hay tres componentes en una conexión de ingesta RTMP:

  • El codificador convierte la señal de vídeo y audio en un formato digital que puede transportarse por Internet.
  • El transporte: Es el medio por el que se envía la señal codificada desde el codificador al servidor; normalmente se hace a través de UDP o TCP.
  • El servidor recibe la señal codificada y la pone a disposición de los espectadores (normalmente empaquetándola en un formato como Flash).

3. El Streaming

Cuando un usuario transmite contenidos a un servidor multimedia, el servidor debe codificar primero el vídeo y el audio entrante antes de enviarlo a todos los clientes conectados.

El proceso de codificar y reformatear el vídeo y el audio a un formato de archivo estándar se llama transcodificación. Consiste en convertir la señal de entrada en una forma que pueda reproducirse en diversos dispositivos.

En cuanto al streaming, hay dos tipos de streaming: en directo y a la carta. El streaming en directo se refiere a la emisión en tiempo real, mientras que el streaming a la carta es cuando los usuarios pueden ver los contenidos cómodamente.

El streaming en directo requiere una conexión constante entre el cliente y el servidor, mientras que el streaming a la carta no.

RTMP utiliza TCP para mantener una conexión persistente entre el cliente y el servidor, lo que permite una transmisión de baja latencia. Sin embargo, RTMP no es adecuado para el streaming a la carta.

Alternativas RTMP para la ingesta

SRT y WebRTC son los principales contendientes que pueden igualar o superar las capacidades de RTMP. Aquí tienes un breve avance de las dos alternativas:

Transporte seguro y fiable (SRT)

SRT colma las lagunas que RTMP no ha podido cubrir, como el mantenimiento de una transmisión de baja latencia incluso cuando el usuario está conectado a una red relativamente poco fiable. Esto lo convierte en una excelente opción para la transmisión en directo y a la carta.

Al ser de código abierto, los límites de sus capacidades son infinitos y no hay que preocuparse por la retirada del apoyo al desarrollo.

Comunicaciones en tiempo real por Internet (WebRTC)

WebRTC gana con su publicación basada en el navegador. El Protocolo de Ingesta HTTP de WebRTC (WHIP) también está en proceso, y lo que esto significa para los usuarios es que podrán transmitir con sólo un navegador web en lugar de molestarse con codificadores como con RTMP.

Alternativas de RTMP para la salida

Los primeros en la lista de alternativas de salida RTMP son HTTP Live Streaming (HLS), MPEG-DASH y WebRTC.

He aquí un breve avance de las alternativas:

HLS y MPEG-DASH

Ambos son prácticamente iguales, sólo que HLS es propietario mientras que MPEG-DASH es de código abierto.

Lo mejor de estos dos es que están diseñados para ofrecer una baja latencia, una calidad multimedia óptima e incluso funcionan con conexiones de red poco fiables.

WebRTC es también una alternativa notable a las soluciones de salida RTMP.

¿Están muriendo RTMP y Flash?

La respuesta corta es: probablemente no. La respuesta larga es un poco más complicada.

El aumento constante de la popularidad de HTML5 y la proliferación de alternativas capaces de Flash pueden hacer parecer que RTMP y Flash están muriendo. Pero no es así.

Flash lleva un tiempo en declive, perdiendo una importante cuota de mercado en favor de HTML5 en los últimos años, y su posición, antaño dominante en el mundo del vídeo, se ve ahora constantemente amenazada.

Sin embargo, sigue teniendo una presencia significativa en la web y es utilizado por muchos sitios populares, como YouTube y Facebook.

En cuanto al RTMP, sigue siendo muy utilizado para la transmisión de contenidos de audio y vídeo. Sin embargo, su futuro es menos seguro que el de Flash.

Adobe ha anunciado que dejará de dar soporte a RTMP en 2020, lo que podría marcar el fin de este protocolo. No obstante, existen multitud de alternativas basadas en RTMP, por lo que es probable que siga utilizándose de una u otra forma en los próximos años.

Entonces, ¿debería hacer streaming utilizando RTMP?

Depende. Echa un vistazo a algunos de los pros y los contras de usar RTMP.

Pros

  • Es muy estable. En comparación con otras alternativas del mercado, es muy poco probable que experimente alguna interrupción o tiempo de inactividad mientras utiliza un servicio habilitado para RTMP.
  • Baja latencia y mínimo buffering. El RTMP es único en este sentido, lo que significa que los usuarios pueden ver los vídeos con mejor resolución, y que los medios tardarán mucho menos en cargarse.
  • Compatibilidad. La naturaleza robusta y fiable de RTMPS animó a más fabricantes a diseñar sus productos para que se integraran con RTMP fácilmente

Cons

  • RTMP requiere una conexión persistente entre el cliente y el servidor, lo que puede ser problemático si hay interrupciones en la red
  • Al ser un software propietario, hay poca flexibilidad para los usuarios avanzados.

FAQS

¿Cómo utilizar Wave.video para la transmisión por RTMP?

Si quieres transmitir vídeo a través de RTMP, Wave.video es una gran opción. Acontinuación te explic amos cómo utilizarlo:

  1. Crea una cuenta en Wave.video e inicia sesión si aún no lo has hecho.
  2. Elige el vídeo que quieres transmitir.
  3. Vaya a la página "Destinos" en Wave.video y haga clic en "RTMP personalizado" RTMP Wave.video
  4. A continuación, tendrás que encontrar la URL del servidor y la clave de transmisión del contenido que intentas transmitir. Para ello, navega al sitio web con el flujo que quieres ver.
  5. Puedes utilizar una aplicación o extensión de terceros para extraer la URL y la clave si no sabes cómo hacerlo.
  6. Copie la URL del servidor y la clave de flujo.
  7. Pegue la URL del servidor y la clave de transmisión en Wave.video.RTMP name, key, url
  8. Cree o programe su flujo.
  9. Abre el estudio en vivo y comienza a transmitir.

Eso es todo, ¡rápido y fácil!

¿Qué codificadores admiten RTMP?

Hay muchos hardware y software de codificación que soportan RTMP. Algunos de ellos son:

  • Adobe Media Encoder
  • Estudio OBS
  • Servidor elemental
  • TriCaster
  • Wirecast
  • vMix
  • TeraDek
  • Motor de Streaming Wowza
  • Vídeo del Niágara

RTMP vs. RTSP - ¿Cuál es mejor?

RTMP y RTSP son protocolos para la transmisión de audio, vídeo y datos a través de Internet. Son similares en muchos aspectos, pero algunas diferencias clave los hacen ideales para diferentes situaciones o preferencias.

A continuación, un breve resumen de las principales diferencias entre ambos:

  • RTMP es mejor para la transmisión en directo, mientras que RTSP es mejor para la transmisión a la carta.
  • RTMP tiene una latencia menor, mientras que RTSP puede proporcionar un vídeo de mayor calidad.
  • RTMP requiere un Flash Media Server, mientras que RTSP puede funcionar con cualquier servidor multimedia.

Entonces, ¿qué protocolo es mejor? Todo depende de tus necesidades específicas.

RTMP es una buena opción si necesitas una baja latencia y no te importa usar Flash. RTSP puede ser ideal si necesitas un vídeo de alta calidad o quieres utilizar un servidor multimedia que no sea Flash.

¿Qué es el formato de mensaje de acción (AMF)?

El AMF es un formato binario para codificar y transmitir datos a través de Internet, y a menudo se utiliza junto con el RTMP.

AMF permite transmitir datos incompatibles con RTMP, como los objetos ActionScript. También permite el intercambio eficaz de datos entre las aplicaciones Flash y los servidores.

¿Qué es una URL RTMP y cómo obtenerla de Facebook o YouTube?

Una URL RTMP es un identificador único utilizado para transmitir contenidos de vídeo en directo a diversas plataformas.

Suele contener una dirección IP, un nombre de dominio y un número de puerto.

Debes crear un evento de transmisión en vivo en cualquiera de las dos plataformas para obtenerlo de YouTube o Facebook. Una vez hecho esto, podrás encontrar la URL RTMP en la configuración del evento.

Reflexiones finales

No cabe duda de que el RTMP ha dejado su huella en el mundo. ¿Está en vías de desaparecer? Como solución de salida, posiblemente; de entrada, no.

Aunque surjan otras alternativas igual o más capaces, RTMP seguirá siendo relevante en la transmisión de medios y el streaming.

Le mantendremos informado.

Únase a los 5.000 vendedores que leen primero nuestros artículos