¿Cuál es la diferencia entre la transmisión HTTP y RTMP? ¿Cuándo debemos usar la transmisión RTMP?

El principal valor ofrecido por RTMP es que durante todo el proceso de transmisión se mantiene una conexión entre el servidor de transmisión y el reproductor de video. Esto garantiza una transmisión de video fluida a pesar de las fluctuaciones en el ancho de banda.

RTMP utiliza el puerto 1935. El diferenciador clave entre RTMP y los servicios de Progressive Streaming que utilizan HTTP es:

  • En RTMP hay un puntero directo desde el servidor de medios al reproductor flash , y solo los datos correspondientes a ese puntero son retenidos por el reproductor flash. No hay almacenamiento en búfer / almacenamiento de datos en la computadora
  • En la transmisión progresiva se crea un búfer estable, comenzando desde el punto de reproducción

RTMP alcanzó su popularidad alrededor de 2012. Desde entonces, con la aparición de la transmisión de velocidad de bits adaptativa, los protocolos de transmisión basados ​​en HTTP se han vuelto mucho más populares. En la transmisión de velocidad de bits adaptativa, cada transmisión de video se compone de múltiples archivos a diferentes resoluciones que requieren diferentes velocidades de bits. Un reproductor de video recibe el archivo de transmisión correspondiente a su tamaño de pantalla y velocidad de conexión a Internet. Este proceso garantiza que si un espectador está viendo inicialmente una transmisión de alta calidad inicialmente con un ancho de banda alto, si la velocidad de Internet disminuye, el reproductor de video cambiará inmediatamente a una transmisión de menor resolución. Uno de los protocolos basados ​​en HTTP que hace esto de manera eficiente es el protocolo de transmisión de video HLS de Apple.

Cuando RTMP mantiene una conexión constante entre el servidor de medios y el reproductor de video, los reproductores de video progresivos en HTTP dependen de un búfer. Esto significa que el video se descarga inicialmente, y es este archivo almacenado en caché local el que se reproduce. HTTP se basa en este búfer para garantizar una reproducción fluida. Sin embargo, si la velocidad de carga del búfer es más lenta que la velocidad de reproducción, su transmisión se retrasará.

Desde el punto de vista de la seguridad, RTMP Encrypted es algo defectuoso, ya que es propenso a los ataques Man-in-the-Middle. Kit de herramientas RTMP: RTMPDump se puede usar fácilmente para descargar transmisiones RTMP.

Espero que esto ayude. Para obtener más información, consulte este artículo que he escrito sobre RTMP en relación con otros protocolos de transmisión.

Además, la opción más segura y fluida para RTMP es lo que nuestra compañía usa para nuestros casos de uso y lo presenta directamente a los clientes.

Protocolo de mensajería en tiempo real (RTMP)

RTMP se utiliza para transmitir audio, video o datos y es originalmente un protocolo patentado introducido por Macromedia (propiedad de Adobe). El protocolo está basado en TCP y, por lo tanto, ofrece conexiones persistentes. En resumen, RTMP encapsula audio MP3 / AAC y transmisiones multimedia de video MP4 / FLV.

Si haces transmisión en vivo con KeyCDN, RTMP no se usará para la entrega de video a los usuarios finales. Si el software de transmisión se basa en RTMP, puede usar este protocolo para transmitir inicialmente su contenido a su servidor o un servicio de terceros que transforma la transmisión RTMP a HLS. Se puede usar una amplia gama de codificadores RTMP para crear la transmisión en vivo (por ejemplo, FMLE, OBS, WireCast, etc.).

HTTP Live Streaming (HLS)

HTTP Live Streaming se conoce como HLS. Como su nombre lo indica, es el protocolo de comunicaciones de transmisión de medios basado en HTTP; desarrollado por Apple como parte de sus productos QuickTime, Safari, OS X e iOS. ¿Como funciona? Rompe la secuencia general en una secuencia de pequeños archivos basados ​​en HTTP (.ts: Transport Stream). Estos archivos de flujo de transporte están indexados en el archivo .m3u8. Es necesario descargar primero la lista de reproducción .m3u8 para reproducir una transmisión en vivo.