RTSP (Real Time Streaming Protocol) – protokol til fjernstyring af streaming
RTSP: Protokol til fjernstyring af streaming — styr play/pause og tidsbaseret adgang til mediefiler. Læs om funktion, RTP-transport og almindelige implementationer.
Real Time Streaming Protocol (RTSP), der er udviklet af IETF og blev oprettet i 1998 som RFC 2326, er en protokol til brug i streaming mediesystemer. RTSP gør det muligt for en klient at fjernstyre en streaming medieserver ved at sende videobåndoptagerlignende kommandoer som "PLAY" og "PAUSE" og ved at give tidsbaseret adgang til filer på en server. Protokollen er primært en kontrol- og signaleringsprotokol — den håndterer ikke selv selve afsendelsen af rå lyd- eller videodata.
Selve transporten af mediedataene foregår normalt via andre protokoller. De fleste RTSP-servere anvender det standardiserede RTP/RTCP (Real-time Transport Protocol / Real-time Control Protocol) som transport for de egentlige audio-/videostrømme. Nogle implementeringer tilbyder også proprietære transportmetoder; eksempelvis har RealNetworks tidligere brugt deres egen RDT-protokol som transport. RTSP tillader desuden at mediedata interleaves (tunneles) over RTSP/TCP-forbindelsen, hvilket kan være nyttigt gennem firewalls.
Hvordan RTSP fungerer
RTSP er en klient-server protokol og er typisk tilstandsbevarende: serveren holder styr på sessions og den aktuelle tilstand for hver klientforbindelse. Processen ser ofte sådan ud:
- Klienten sender en DESCRIBE-forespørgsel for at få metadata (f.eks. SDP) om det tilgængelige medie.
- Klienten bruger SETUP til at konfigurere transportparametre (fx RTP-udsendelse til en bestemt port eller interleaving over TCP).
- Når sessionen er opsat, kan klienten sende PLAY, PAUSE og TEARDOWN for at styre afspilningen og afslutte sessionen.
Almindelige RTSP-kommandoer
- OPTIONS – spørger serveren hvilke metoder den understøtter.
- DESCRIBE – anmoder om en beskrivelse af mediet (ofte returneret som SDP).
- SETUP – etablerer transport- og sessionsparametre for et mediespor.
- PLAY – starter eller fortsætter afspilning.
- PAUSE – midlertidigt stopper afspilning uden at droppe sessionen.
- TEARDOWN – lukker sessionen og frigiver ressourcer.
- GET_PARAMETER / SET_PARAMETER – læser eller ændrer sessionsspecifikke parametre.
Transport, porte og netværksovervejelser
RTSP-kontrolforbindelser bruges ofte over TCP (typisk port 554), mens selve mediedata oftest transporteres med RTP over UDP. For netværk bag NAT eller strenge firewalls kan RTP-UDP skabe problemer; her kan RTSP konfigurere RTP til at blive interleaved over den eksisterende RTSP/TCP-forbindelse, eller bruge HTTP-tunneling for at komme igennem begrænsende netværk. RTSP kan også sikres med TLS (f.eks. RTSPS) for at beskytte signaleringen.
Standarder, versioner og sikkerhed
Den oprindelige RTSP-specifikation er RFC 2326 fra 1998. Senere er arbejdet videreført i RTSP 2.0 (RFC 7826), som moderniserer og forenkler visse aspekter. For autentifikation understøtter RTSP metoder som Basic og Digest authentication, og man kan kombinere RTSP med kryptering (TLS) for at beskytte kontrolkanalerne.
Anvendelser og eksempler
RTSP bruges bredt i applikationer som:
- IP-overvågningskameraer (live visning og PTZ-kontrol).
- On-demand streaming og medieservere, hvor klienter skal kunne spole, pause og søge.
- Integration med medieafspillere som VLC, ffmpeg, og andre klienter der understøtter RTSP.
Begrænsninger
RTSP er effektiv til fjernstyring af streams, men fordi den ofte er afhængig af RTP/UDP til transport, kan den være vanskelig at bruge i miljøer med NAT/firewall-restriktioner. Desuden er RTSP primært et kontrolprotokol — for robust, adaptiv leverance over variable netværk foretrækkes i mange moderne løsninger HTTP-baserede protokoller som HLS eller DASH.
Sammenfattende er RTSP en velegnet protokol, når man har brug for server-side kontrol over streaming (play/pause/seek) og lav latenstid, især i professionelle og overvågningssammenhænge. Valget mellem RTSP og nyere HTTP-baserede teknologier afhænger af krav til latens, netværkskompatibilitet og skalerbarhed.
Klienter
- GStreamer
- Media Player Classic
- MPEG4IP
- MPlayer
- QuickTime
- Avi-afspiller
- RealPlayer
- Skype
- VLC-medieafspiller
- Winamp
- Windows Media Player
- Xine
- MythTV via Freebox
- Gom-spiller
Server-software
- QuickTime Streaming Server: Apples lukkede streaming-server, der leveres sammen med Mac OS X Server
- Darwin Streaming Server: Open-sourced version af Quicktime Streaming Server, der vedligeholdes af Apple
- pvServer: Tidligere kaldet PacketVideo Streaming Server, er dette Alcatel-Lucent's streaming-serverprodukt.
- Helix DNA-server: RealNetworks' streaming-server. Findes både i open source- og proprietære varianter.
- Live555: Open source C++ server- og klientbiblioteker, der anvendes i kendte klienter som VLC og mplayer.
- VideoLAN: Open source-medieafspiller og streaming-server
- Windows Media Services: Microsofts streaming-server, der er inkluderet i Windows Server.
- VX30: Streaming videoserver og indbygget JAVA-klient fra Maui X-Stream.
Relaterede sider
- Realtidstransportprotokol (RTP)
- Fusion RTSP-løsning til indlejrede systemer, f.eks. IPTV, internet-tv og mobile internetenheder.
Søge