RTSP (RFC 2326): Protocolo de transmisión en tiempo real — Definición y usos
RTSP (RFC 2326): guía esencial sobre el protocolo de transmisión en tiempo real, control remoto de streams y aplicaciones en audio/vídeo, vigilancia y broadcasting.
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).
Clientes
- GStreamer
- Reproductor multimedia clásico
- MPEG4IP
- MPlayer
- QuickTime
- Reproductor Avi
- RealPlayer
- Skype
- Reproductor multimedia VLC
- Winamp
- Reproductor de Windows Media
- Xine
- MythTV vía Freebox
- Jugador de gom
Software del servidor
- QuickTime Streaming Server: El servidor de streaming de código cerrado de Apple que viene con Mac OS X Server
- Servidor de streaming Darwin: Versión de código abierto de Quicktime Streaming Server mantenida por Apple
- pvServer: Anteriormente llamado PacketVideo Streaming Server, es el producto de servidor de streaming de Alcatel-Lucent.
- Servidor Helix DNA: El servidor de streaming de RealNetworks. Está disponible en versión de código abierto y en versión propietaria.
- Live555: Servidor C++ de código abierto y bibliotecas de cliente utilizadas en clientes muy conocidos como VLC y mplayer.
- VideoLAN: reproductor multimedia de código abierto y servidor de streaming
- Servicios de Windows Media: El servidor de streaming de Microsoft incluido en Windows Server.
- VX30: Servidor de vídeo en streaming y cliente JAVA integrado de Maui X-Stream.
Páginas relacionadas
- Protocolo de transporte en tiempo real (RTP)
- Solución Fusion RTSP para sistemas embebidos, por ejemplo, IPTV, TV por Internet y dispositivos de Internet móvil.
Buscar dentro de la enciclopedia