Fundamentos de los Protocolos y Arquitecturas en Sistemas de Streaming Multimedia

Clasificado en Informática

Escrito el en español con un tamaño de 6,94 KB

Sistemas de Streaming sin Control de Transmisión

HTTP: No ofrece control inherente sobre la transmisión de datos, lo que lo clasifica como un sistema sin control directo sobre el flujo multimedia.

Sistemas de Streaming con Control de Transmisión

Estos sistemas permiten una gestión más granular del flujo de datos. Se distinguen por:

  • Control (nivel de aplicación): Protocolos como RTSP.
  • Transporte de datos (nivel de transporte): Protocolos como RTP, RTCP y UDP.

Existen dos canales de comunicación principales entre los clientes y el servidor de streaming: uno dedicado al control de la sesión (RTSP) y otro para la transmisión de la información multimedia.

Protocolo IGMP (Internet Group Management Protocol)

IGMP se utiliza para intercambiar información sobre el estado de pertenencia entre routers multicast conectados a redes locales y los miembros de grupos multicast. Los hosts individuales informan sobre su permanencia en un grupo multicast, facilitando la entrega eficiente de datos a múltiples destinatarios.

Protocolo RTSP (Real-Time Streaming Protocol)

RTSP es un protocolo de nivel de aplicación diseñado para establecer y controlar sesiones de streaming. Sus características principales incluyen:

  • Se emplea en conjunto con SDP (Session Description Protocol), que proporciona información detallada sobre la sesión multimedia.
  • Opera a nivel de aplicación, siendo independiente de la capa de transporte subyacente.
  • No transporta directamente los contenidos multimedia.
  • Necesita mantener el estado de la conexión para gestionar la sesión.
  • Es compatible con transmisiones unicast y multicast.
  • Ofrece capacidad multiservidor, permitiendo que cada flujo multimedia resida en servidores diferentes.

Similitudes de RTSP con HTTP:

  • Formato de las peticiones y respuestas.
  • Formato de las URL.
  • Sintaxis y negociación de los contenidos.

Diferencias de RTSP con HTTP:

  • RTSP es un protocolo con estado, mientras que HTTP es sin estado.
  • Tanto los servidores como los clientes RTSP pueden iniciar peticiones.
  • Los datos multimedia son transportados por un protocolo diferente (ej. RTP).
  • Cada flujo transportado puede residir en un servidor distinto, ofreciendo mayor flexibilidad.

Protocolo RTP (Real-Time Transport Protocol)

RTP se emplea sobre UDP debido a la necesidad inherente del video streaming de recibir la información en el momento adecuado, priorizando la puntualidad sobre la fiabilidad estricta. Sus características son:

  • No ofrece garantías explícitas sobre la calidad de servicio (QoS) ni sobre el retraso en la entrega de datos.
  • Permite la entrega de datos multicast.
  • Incorpora un número de secuencia que es fundamental para la detección de paquetes perdidos y la reconstrucción del flujo.

Es importante destacar que RTSP se encarga del establecimiento y control de la conexión, mientras que RTP transporta los contenidos multimedia en tiempo real.

Protocolo RTCP (RTP Control Protocol)

RTCP se utiliza conjuntamente con RTP para el transporte y empaquetado de datos de audio/video (A/V). Sus funciones principales son:

  • Proporciona información de control asociada con un flujo de datos para cada una de las aplicaciones multimedia.
  • Se encapsula sobre UDP.
  • No transporta ningún dato multimedia por sí mismo.
  • Se emplea para monitorizar la calidad de servicio (QoS) de la transmisión, enviando informes periódicos.

Tipos de Arquitectura en Sistemas de Streaming

Los sistemas de streaming pueden adoptar diversas arquitecturas, adaptándose a las necesidades específicas de distribución de contenido:

  • Con servidor y cliente: La arquitectura más común, donde un servidor centralizado distribuye el contenido a múltiples clientes.
  • Sin servidor (server-less): El contenido se sirve directamente a través de un servidor web, a menudo utilizando tecnologías como HTTP Live Streaming (HLS) o Dynamic Adaptive Streaming over HTTP (DASH).
  • Sin cliente (client-less): La visualización se realiza mediante un plugin o extensión del navegador, sin necesidad de una aplicación cliente dedicada.

Componentes del Servidor de Streaming

El servidor es el encargado de almacenar los contenidos y gestionar el servicio a los clientes, garantizando una calidad de servicio adecuada. Sus componentes clave incluyen:

  • Producción y Almacenamiento: Gestión y almacenamiento de los contenidos multimedia.
  • Control: Manejo de las sesiones, ya sean bajo demanda o en directo.
  • Comunicaciones:
    • Control de flujos multimedia: Canal bidireccional que recibe interacciones del cliente y transmite las respuestas del servidor.
    • Envío de datos multimedia: Canal unidireccional que transmite la información cuando se requiere.
  • Multiplexación: Proceso de combinar múltiples flujos de datos en uno solo (ej. STPS y MPTS).

Funcionalidades del Proxy en Streaming

Un proxy en un sistema de streaming puede ofrecer diversas funcionalidades según el tipo de servicio:

  • Audio/Video bajo demanda (A/V VoD): Almacena temporalmente la información más recientemente utilizada (caching) y la transmite nuevamente en caso de ser solicitada, reduciendo la carga del servidor de origen.
  • Audio/Video en directo (A/V Live): Ayuda a reducir el número de flujos que salen directamente del servidor principal, distribuyendo la carga y mejorando la escalabilidad.

Componentes del Cliente de Streaming

El cliente es la aplicación o dispositivo que permite al usuario final acceder y reproducir el contenido multimedia. Sus componentes esenciales son:

  • Recepción: Encargado de recibir la información del servidor.
  • Presentación: Reproduce la información multimedia (audio y video).
  • Interfaz: Proporciona una interfaz gráfica para que el usuario interactúe con el sistema (pausar, adelantar, etc.).
  • Buffer:
    • Se carga antes de comenzar a reproducir el contenido.
    • Si se vacía, la reproducción se detiene para recargarlo, lo que puede generar un fallo o interrupción.
    • Amortigua posibles retrasos en la llegada de paquetes, asegurando una reproducción fluida.
    • Existen buffers específicos para audio y para video.

Entradas relacionadas: