El Protocolo de Transmisión en Tiempo Real (RTSP), desarrollado por el IETF y creado en 1998 como RFC 2326, es un protocolo para su uso en sistemas de transmisión de medios, que permite a un cliente controlar de forma remota un servidor de transmisión de medios, emitiendo comandos similares a los de una videograbadora, como "reproducir" y "pausar", y permitiendo el acceso en función del tiempo a los archivos de un servidor.

El envío de datos de streaming en sí no forma parte del protocolo RTSP. La mayoría de los servidores RTSP utilizan el RTP basado en estándares como protocolo de transporte para los datos de audio/vídeo reales. El servidor RTSP de RealNetworks también cuenta con el RDT propietario de RealNetworks como protocolo de transporte.

Funcionamiento básico

RTSP actúa como un protocolo de control para sesiones multimedia: establece, controla y finaliza la reproducción remota de streams. Un cliente (p. ej., un reproductor multimedia o una cámara IP) envía solicitudes al servidor RTSP, que responde con códigos de estado parecidos a los de HTTP. El protocolo es stateful en muchos implementos: el servidor mantiene la información de sesión (identificada por un ID de sesión) y el estado de reproducción.

Métodos principales

  • OPTIONS: pregunta al servidor qué métodos y características soporta.
  • DESCRIBE: solicita la descripción del medio (normalmente en SDP) para conocer codecs, puertos y formatos.
  • SETUP: negocia los parámetros de transporte (puertos, uso de UDP/TCP, intercalado de RTP en TCP, etc.) y reserva recursos.
  • PLAY: inicia o reanuda la reproducción del stream.
  • PAUSE: pausa la transmisión sin liberar la sesión.
  • TEARDOWN: termina la sesión y libera recursos en el servidor.
  • ANNOUNCE, RECORD, GET_PARAMETER, SET_PARAMETER: métodos adicionales para funciones como publicación de streams, control de parámetros y monitoreo.

Transporte de medios

RTSP simplemente controla la sesión; el transporte real de audio/video suele realizarse con RTP (Real-time Transport Protocol) y su protocolo complementario RTCP para métricas y control. Las opciones típicas de transporte son:

  • RTP sobre UDP (latencia baja, pérdida ocasional aceptable).
  • RTP sobre TCP (intercalado: los paquetes RTP se envían dentro del mismo canal TCP de control RTSP), útil para atravesar firewalls/NAT o cuando UDP no está disponible.
  • Transporte propietario (por ejemplo, RDT en algunos servidores de RealNetworks).

Durante la negociación (SETUP) el cliente y el servidor acuerdan puertos, formato de paquete y si se usará intercalado. RTSP puede integrarse con mecanismos de sincronización y control de jitter ofrecidos por RTP/RTCP.

Seguridad y compatibilidad

  • Puerto por defecto: 554 para RTSP (aunque puede configurarse otro).
  • Autenticación: RTSP puede usar mecanismos de autenticación HTTP (Basic, Digest) para controlar el acceso.
  • Cifrado: RTSP no obliga el cifrado en su versión original; se puede proteger mediante TLS (a veces llamado RTSPS) o mediante túneles sobre HTTPS para proteger credenciales y contenido de control.
  • Interoperabilidad: RTSP comparte sintaxis y conceptos con HTTP, pero añade métodos y semánticas específicas para control de medios. RTSP 1.0 (RFC 2326) fue la versión inicial; en 2016 la IETF publicó RTSP 2.0 (RFC 7826) para clarificar y actualizar la especificación.

Usos comunes

  • Transmisión en vivo y servidores de Video on Demand (VoD).
  • Cámaras IP y sistemas de videovigilancia, donde los sistemas cliente controlan la reproducción y reciben streams en tiempo real.
  • Aplicaciones de IPTV, vigilancia remota y algunos sistemas de videoconferencia.
  • Pruebas y depuración: reproductores como VLC y ffmpeg pueden actuar como clientes RTSP para recibir y controlar streams.

Sin embargo, para la distribución masiva en la web, protocolos basados en HTTP como HLS o DASH han sido más adoptados por su facilidad para atravesar redes y usar infraestructuras CDN.

Ventajas y limitaciones

  • Ventajas: control fino tipo VCR (seek, pause, play), baja latencia cuando se usa con RTP/UDP, flexible para aplicaciones en tiempo real.
  • Limitaciones: puede ser más difícil de escalar a nivel de CDN que soluciones HTTP, problemas con NAT/firewall si se usa UDP (se soluciona con intercalado en TCP), y la versión original no incluía cifrado obligatorio.

Conclusión

RTSP es un protocolo de control concebido para manejar sesiones de streaming en tiempo real, delegando el transporte de los datos multimedia a protocolos como RTP. Aunque sigue siendo muy utilizado en entornos de vigilancia y transmisión profesional, en el ecosistema web moderno muchas implementaciones han migrado hacia soluciones basadas en HTTP por motivos de compatibilidad y escalabilidad. Para proyectos que requieren control en tiempo real y funcionalidades tipo VCR sobre streams, RTSP sigue siendo una opción madura y estandarizada (con la versión actualizada RTSP 2.0 disponible en RFC 7826).