¿Qué es RTMP?
* Propósito: RTMP fue diseñado originalmente por Adobe Systems para transmitir audio, video y datos a través de Internet entre un servidor y un reproductor Flash.
* Cómo funciona: RTMP es un protocolo basado en TCP, lo que significa que proporciona datos confiables y ordenados. Utiliza una conexión persistente, reduciendo los gastos generales en comparación con los protocolos que establecen una nueva conexión para cada solicitud.
* Características clave:
* Latencia baja: RTMP fue diseñado para una transmisión de baja latencia, crucial para aplicaciones interactivas.
* Multiplexación: Puede multiplexar múltiples transmisiones (audio, video, datos) a través de una sola conexión.
* Avista de manos: Tiene un proceso de apretón de manos para establecer una conexión confiable.
* Publicación y reproducción: Define mecanismos para publicar transmisiones a un servidor (por ejemplo, de un codificador) y reproducir transmisiones desde el servidor (por ejemplo, en un reproductor flash).
El papel de RTMP en la transmisión en vivo
1. Ingest (publicación): RTMP fue * el * protocolo dominante para obtener una transmisión en vivo del codificador (por ejemplo, OBS Studio, Wirecast, Hardware Coders) * a * un servidor o plataforma de transmisión (por ejemplo, YouTube, Facebook Live, Twitch, servidores de transmisión personalizados). Esto se llama "RTMP Ingest" o "RTMP Publishing".
2. Distribución (reproducción): En el pasado, RTMP también era un protocolo principal para * entregar * la transmisión a los reproductores flash de los espectadores. Sin embargo, esto ahora es en gran medida obsoleto (más sobre eso a continuación).
Por qué RTMP es menos común para la reproducción hoy
* Flash Player Fallise: La disminución y el final de la vida final del jugador de Adobe Flash es la razón principal. RTMP estaba firmemente junto con flash. Los navegadores y dispositivos modernos ya no admiten flash de forma predeterminada (o en absoluto).
* mejores alternativas: Protocolos como HLS (transmisión en vivo HTTP) y Dash (transmisión adaptativa dinámica sobre HTTP) se han vuelto mucho más populares para la reproducción. Estos son basados en HTTP, más amigables con los firewall y ofrecen transmisión adaptativa de tasa de bits (ajustar la calidad del video basada en la conexión a Internet del espectador).
variantes RTMP
* rtmp: El protocolo básico basado en TCP. Utiliza el puerto 1935 de forma predeterminada. Propenso a problemas de firewall.
* rtmps: RTMP sobre SSL/TLS. Versión encriptada de RTMP, haciéndola más segura. Utiliza el puerto 443, a menudo el mismo puerto utilizado por HTTPS, que ayuda con el recorrido por el firewall.
* rtmpe: RTMP con cifrado (pero no SSL/TLS). Menos común que los RTMP.
* rtmpt: RTMP Tuneled sobre HTTP. Se usa cuando las conexiones RTMP directas están bloqueadas por firewalls. Más pesado y menos eficiente.
El uso actual de RTMP
* Ingesta aún relevante: A pesar de la disminución de la reproducción, RTMP (especialmente RTMP) todavía se usa ampliamente para *ingest *. Muchas plataformas y servicios de transmisión aún aceptan RTMP como una forma de recibir la transmisión en vivo inicial del codificador. Es un método bien establecido y confiable.
* Transcodificación y distribución: La plataforma de transmisión típicamente * transcoda * la secuencia RTMP en otros formatos (por ejemplo, HLS, Dash) para su distribución a los espectadores en varios dispositivos y navegadores.
Otros protocolos importantes de transmisión en vivo
* HLS (transmisión en vivo HTTP): Desarrollado por Apple. Un protocolo de transmisión de tasa de bits adaptativa basado en HTTP. Divide la corriente en pequeños segmentos (típicamente 10 segundos). Muy ampliamente compatible con iOS, Android, navegadores de escritorio y televisores inteligentes. El estándar de facto para la reproducción. Puede sufrir una latencia más alta (a menudo 15-30 segundos) en comparación con otras opciones, pero están surgiendo variantes de baja latencia.
* Dash (transmisión adaptativa dinámica sobre http): Un estándar abierto similar a HLS. También un protocolo de transmisión de tasa de bits adaptativa basado en HTTP. Ampliamente compatible, pero HLS tiene una mayor participación de mercado.
* WebRTC (comunicación en tiempo real web): Un protocolo para la comunicación entre pares en tiempo real en los navegadores web. Admite una transmisión de latencia muy baja (sub-segundo). Más complejo de configurar y escalar que HLS o Dash. Comúnmente utilizado para transmisiones interactivas, videoconferencia y aplicaciones en tiempo real. Requiere una unidad de reenvío selectiva (SFU) para transmisiones multipartidistas.
* srt (transporte seguro confiable): Un protocolo de transporte de código abierto que optimiza el rendimiento de la transmisión a través de redes impredecibles. Se centra en la corrección de errores y la confiabilidad. Se puede usar como alternativa a RTMP para la ingesta. Cada vez más popular por su robustez.
* ndi (interfaz de dispositivo de red): Un protocolo de video sobre IP desarrollado por Newtek. Se utiliza principalmente para entornos profesionales de producción de video en redes locales (LAN). Permite la transmisión de video y audio de alta calidad y audio entre dispositivos en la misma red. No generalmente se usa directamente para la transmisión en vivo basada en Internet, pero se puede usar para obtener la señal de video en un codificador RTMP.
* CMAF (formato de aplicación de medios comunes): Un formato de contenedor diseñado para reducir la complejidad en la entrega de medios en línea estandarizando la codificación de video y audio, la segmentación y el cifrado en diferentes protocolos de transmisión como HLS y Dash. Permite que se utilice un solo conjunto de archivos multimedia codificados tanto para HLS como para DASH, simplificando los flujos de trabajo y reduciendo las necesidades de almacenamiento.
Consideraciones clave Al elegir un protocolo
* Latencia: ¿Qué tan rápido necesita la transmisión para llegar al espectador? (WebRTC es más bajo, luego SRT, luego RTMP, luego HLS/Dash Generalmente)
* escalabilidad: ¿Cuántos espectadores tendrás? (HLS/Dash es lo mejor para audiencias grandes)
* Compatibilidad: ¿Qué dispositivos y navegadores necesitas apoyar? (HLS/Dash son muy compatibles)
* Fiabilidad: ¿Qué tan importante es que la transmisión no caiga o tenga errores? (SRT está diseñado para redes poco confiables)
* Seguridad: ¿Se necesita cifrado? (RTMPS proporciona cifrado)
* Amigantes de firewall: (Los protocolos basados en HTTP como HLS y Dash son generalmente los más amigables con los firewall)
* Complejidad: ¿Qué tan fácil es el protocolo para configurar y administrar? (RTMP es relativamente simple para la ingesta, HLS/Dash tiene ecosistemas más maduros)
* BitRate: Las tasas de bits de video de transmisión son clave para la calidad del video. La tasa de bits inferior creará pixelación y reducirá la calidad del video. Las tasas de bits más altas pueden aumentar la latencia y son más difíciles de transmitir sobre la conexión inalámbrica.
En resumen:
* RTMP sigue siendo relevante para * ingest * (llevar la transmisión al servidor).
* HLS y Dash son los protocolos dominantes para * reproducción * (entregando la transmisión a los espectadores).
* WEBRTC se usa para transmisiones interactivas de muy baja latencia.
* SRT proporciona una transmisión confiable sobre redes poco confiables.
* Elija el protocolo correcto en función de sus necesidades específicas.
También vale la pena señalar que el paisaje está evolucionando constantemente, con nuevos protocolos y tecnologías emergentes. Manténgase al día con los últimos desarrollos en transmisión en vivo para tomar decisiones informadas.