RTSP (Real Time Streaming Protocol) — definitie, werking en toepassingen

RTSP uitgelegd: definitie, werking, VCR‑commando's, relatie met RTP en praktische toepassingen voor streaming, beveiligingscamera’s en mediaservers.

Schrijver: Leandro Alegsa

Het Real Time Streaming Protocol (RTSP), ontwikkeld door de IETF en in 1998 gecreëerd als RFC 2326, is een protocol voor gebruik in streaming-mediasystemen, waarmee een client een streaming-mediaserver op afstand kan bedienen, VCR-achtige commando's kan geven, zoals "play" en "pause", en tijdgebaseerde toegang tot bestanden op een server mogelijk kan maken.

Het verzenden van streaming gegevens zelf maakt geen deel uit van het RTSP-protocol. De meeste RTSP-servers gebruiken het op standaarden gebaseerde RTP als het vervoerprotocol voor de eigenlijke audio/video-gegevens. De RTSP-server van RealNetworks heeft ook het eigen RDT van RealNetworks als transportprotocol.

Wat is RTSP en waarvoor wordt het gebruikt?

RTSP is in essentie een besturings- of signaalprotocol voor mediasessies: het regelt hoe een client (bijvoorbeeld een mediaspeler of een IP-camera-viewer) commando's naar een mediaserver stuurt om een stream te starten, te pauzeren, te laten zoeken (seek) of te beëindigen. RTSP wordt veel gebruikt voor:

  • live streaming en video-on-demand (VoD) services,
  • IP‑camera's en bewakingssystemen (onder andere via ONVIF),
  • multimedia conferenties en realtime mediatoepassingen,
  • testen en ontwikkeling van mediaservers (bijv. met tools als VLC, FFmpeg en GStreamer).

Hoe werkt RTSP technisch?

RTSP is een tekstgebaseerd, staatbewust (stateful) protocol dat qua opbouw sterk lijkt op HTTP: berichten bestaan uit een startregel, headers en een optioneel body-gedeelte. Typische stappen in een RTSP-sessie zijn:

  • OPTIONS — vraagt welke methoden de server ondersteunt;
  • DESCRIBE — vraagt een beschrijving van de media (meestal geleverd als SDP: Session Description Protocol);
  • SETUP — configureert het transport (bijv. UDP- of TCP-poorten, of interleaved TCP) en maakt een sessie aan;
  • PLAY — start of hervat het afspelen van de stream;
  • PAUSE — pauzeert de stream;
  • TEARDOWN — beëindigt de sessie en de transportverbinding;
  • RECORD — (indien ondersteund) start opname van de client naar de server;
  • GET_PARAMETER / SET_PARAMETER — uitwisseling van controleparameters en status.

Een typische sessie ziet er bijvoorbeeld zo uit: de client stuurt DESCRIBE, de server antwoordt met SDP (codecs, sample rates, trackinformatie), de client doet SETUP per track om transportpoorten in te stellen en krijgt een session-id terug, en tenslotte wordt met PLAY de daadwerkelijke overdracht van media via RTP gestart.

Transport van media

RTSP zelf transporteert geen audio- of videogegevens: dat gebeurt meestal via RTP (Real-time Transport Protocol) met bijbehorende RTCP voor statistieken en synchronisatie. Mogelijke transportmodi zijn:

  • RTP over UDP (laag-latentie, maar kan problemen hebben met NAT/firewalls);
  • RTP over TCP (interleaved inside the RTSP TCP connection) — handig achter firewalls;
  • RTSP-tunneling via HTTP of gebruik van HTTPS om door proxy's en restrictive netwerken heen te werken.

Berichten, URL's en SDP

RTSP gebruikt URL's met het rtsp-schema, bijvoorbeeld: rtsp://server.example.com/media.sdp. De DESCRIBE-respons bevat vaak een SDP-tekst die details geeft over de media (audio/video tracks, codecs zoals H.264 of AAC, clockrates, payload types), zodat de client weet hoe de RTP-stromen te interpreteren.

Beveiliging en authenticatie

Oorspronkelijk bood RTSP alleen eenvoudige authenticatiemogelijkheden (Basic, Digest). Omdat RTSP-berichtuitwisseling en transport van media gevoelige inhoud kan bevatten, worden tegenwoordig vaak aanvullende maatregelen toegepast:

  • TLS/SSL voor de RTSP-signalisatie (soms aangeduid als RTSPS of RTSP over TLS);
  • encryptie van de mediaströmen zelf (bijvoorbeeld SRTP voor RTP);
  • authenticatie en autorisatie (Digest, token-gebaseerde systemen of integratie met andere services).

Standaarden en ontwikkeling

De oorspronkelijke standaard is RFC 2326 uit 1998. RTSP is in de loop der jaren geëvolueerd en is later verduidelijkt en bijgewerkt door nieuwere documenten (onder meer door latere RFC's zoals RFC 7826 die wijzigingen en moderniseringen bespraken). Implementaties verschillen soms in detail, dus compatibiliteitstests zijn vaak nodig.

Voordelen en beperkingen

  • Voordelen: lage latentie mogelijk, fijnmazige controles (play/pause/seek), geschikt voor realtime toepassingen en IP-camera's.
  • Beperkingen: complexer in NAT/firewall-omgevingen (vooral bij UDP), minder geschikt voor schaalbare CDN-distributie vergeleken met HTTP-gebaseerde chunked streaming zoals HLS of DASH, en oorspronkelijke tekortkomingen op het gebied van ingebouwde encryptie.

Praktische voorbeelden en implementaties

Veel mediaspelers en frameworks ondersteunen RTSP: VLC, FFmpeg, GStreamer en Live555 zijn bekende voorbeelden. Op serverside bestaan oplossingen zoals Darwin Streaming Server, Wowza, en commerciële/embedded serverimplementaties in IP-camera's. RTSP-URL's worden dagelijks gebruikt om live camerafeeds te benaderen, media-tests uit te voeren en low-latency toepassingen te realiseren.

Samenvattend

RTSP is een krachtig control‑protocol voor het beheren van realtime mediasessies. Het regelt de signalisatie en sessiebeheer, terwijl de daadwerkelijke audio- en videogegevens meestal via RTP worden verzonden. Voor moderne toepassingen is het belangrijk om rekening te houden met beveiliging (TLS/SRTP), netwerkrestricties (NAT/firewall) en alternatieven zoals HTTP‑gebaseerde streaming die beter schalen naar veel clients.

Klanten

  • GStreamer
  • Media Speler Klassiek
  • MPEG4IP
  • MPlayer
  • QuickTime
  • Avi speler
  • RealPlayer
  • Skype
  • VLC media speler
  • Winamp
  • Windows Media Speler
  • Xine
  • MythTV via Freebox
  • Gom speler

Server software

  • QuickTime Streaming Server: Apple's closed-source streaming server die bij Mac OS X Server wordt geleverd.
  • Darwin Streaming Server: Open-source versie van Quicktime Streaming Server onderhouden door Apple
  • pvServer: Voorheen PacketVideo Streaming Server genoemd, dit is Alcatel-Lucent's streaming server product.
  • Helix DNA Server: RealNetworks' streaming server. Bestaat in zowel open-source als propriëtaire smaken.
  • Live555: Open bron C++ server en client bibliotheken gebruikt in bekende clients zoals VLC en mplayer.
  • VideoLAN: Open bron mediaspeler en streaming server
  • Windows Media Services: Microsofts streaming server die bij Windows Server wordt geleverd.
  • VX30: Streaming videoserver en ingebouwde JAVA-client van Maui X-Stream.

Verwante pagina's

  • Real-time Vervoerprotocol (RTP)
  • Fusion RTSP-oplossing voor embedded systemen, bijv. IPTV, internet TV en mobiele internetapparaten.


Zoek in de encyclopedie
AlegsaOnline.com - 2020 / 2025 - License CC3