RTSP (RFC 2326) – reaaliaikaisen suoratoiston ohjausprotokolla

RTSP (RFC 2326) – reaaliaikainen suoratoiston ohjausprotokolla: etäohjaa mediaservereita (toista/pysäytä), yhteensopiva RTP:n kanssa, standardiratkaisu suoratoistoon.

Tekijä: Leandro Alegsa

IETF:n kehittämä ja vuonna 1998 RFC 2326:na luotu Real Time Streaming Protocol (RTSP) on suoratoistomediajärjestelmissä käytettävä protokolla, jonka avulla asiakas voi kauko-ohjata suoratoistomediapalvelinta antamalla videonauhurin kaltaisia komentoja, kuten "toista" ja "pysäytä", ja sallimalla palvelimella olevien tiedostojen aikapohjaisen käytön.

Itse suoratoistodatan lähettäminen ei ole osa RTSP-protokollaa. Useimmat RTSP-palvelimet käyttävät standardeihin perustuvaa RTP:tä varsinaisen ääni-/videodatan siirtoprotokollana. RealNetworksin RTSP-palvelimessa on myös RealNetworksin oma RDT siirtoprotokolla.

Miten RTSP toimii

RTSP on komentoprotokolla, joka toimii asiakas–palvelin-mallilla. Asiakas aloittaa yhteyden ja pyytää palvelimelta mediatiedoston tai esityksen kuvausta, asettaa virtuaalisen "istunnon" ja lähettää ohjauskomentoja. RTSP on tilallinen protokolla: palvelin ylläpitää istunnon tilaa (SETUP, PLAY, PAUSE, TEARDOWN jne.).

Tärkeimmät komennot (methodit)

  • OPTIONS – kysyy palvelimen tukemat toiminnot
  • DESCRIBE – pyytää mediakuvausta (esim. SDP)
  • SETUP – alustaa mediastraamin kuljetuksen ja määrittää kuljetustavan (RTP/UDP, RTP/TCP-interleaved)
  • PLAY – aloittaa toiston tai jatkaa sitä annetusta kohdasta
  • PAUSE – keskeyttää toiston
  • TEARDOWN – lopettaa istunnon
  • ANNOUNCE, RECORD, REDIRECT – lisätoimintoja, joita joissain implementaatioissa tuetaan

Median siirto ja kuljetusvaihtoehdot

RTSP ei sisällä varsinaista mediadataa, vaan määrittää, miten mediat siirretään. Yleisimpiä tapoja ovat:

  • RTP/UDP – perinteinen tapa lähetellä ääni- ja videopaketteja, usein yhdessä RTCP:n kanssa säätötietoa varten.
  • RTP yli TCP (interleaved) – mediat voidaan kapseloida RTSP-yhteyden sisään TCP-kanaviin, mikä auttaa palomuuri-/NAT-ongelmissa.
  • Omia protokollia – jotkin toimittajat (esim. RealNetworks) ovat käyttäneet omia siirtoratkaisujaan (kuten RDT).

Tekniset yksityiskohdat

  • Oletusportti RTSP:lle on TCP/554, mutta yhteys voidaan luonnollisesti avata muille porteille.
  • RTSP-URL-muoto on yleensä: rtsp://palvelin/polku/mediap , ja DESCRIBE-komennolla haetaan usein SDP-kuvaus (Session Description) mediakenttien ja kuljetusten määrittelyyn.
  • RTP-interleaving käyttää TCP-kanavia, joissa kukin kanava on merkitty kanavaindeksillä; tämä mahdollistaa median siirron yhden TCP-yhteyden sisällä.

Turvallisuus ja autentikointi

RTSP itsessään on tekstipohjainen ja alkuperäisessä muodossaan ei salausta. Tavalliset suojaustekniikat ja käytännöt ovat:

  • HTTP-tyyppinen autentikointi – Basic tai Digest (kuten HTTP Digest) käytössä monissa palvelimissa.
  • RTSPS / TLS – RTSP voidaan ajaa TLS-kryptauksen päällä (rtsps), jolloin yhteys ja komennot suojataan.
  • SRTP – jos itse media siirretään RTP:n kautta ja halutaan mediatason salaus, käytetään SRTP:tä.
  • Palomuurit ja NAT voivat aiheuttaa ongelmia UDP-pohjaisessa RTP-siirrossa; interleaved-tapa tai välityspalvelimet auttaa usein.

Käyttötapaukset ja rajaukset

RTSP on yleisesti käytetty:

  • IP-kameroissa ja valvontajärjestelmissä (videovalvonta, NVR/DVR)
  • mediapalvelimissa video-on-demand- ja live-sovelluksissa
  • ammattimaisissa suoratoistoratkaisuissa, joissa tarvitaan tarkkaa etähallintaa (seek, pause, trick play)

Rajoituksia ja haasteita:

  • RTSP ei automaattisesti ratkaise reititystä palomuurien/NATin läpi ilman lisäjärjestelyjä.
  • Monet nykyaikaiset web-pohjaiset tai CDN-pohjaiset suoratoistoratkaisut suosivat HTTP-pohjaisia protokollia (esim. HLS, MPEG-DASH), jotka toimivat helpommin palomuurien läpi ja CDN-arkkitehtuureissa.
  • RTSP:n alkuperäinen RFC (2326) on vanha; kehitys on jatkunut ja RTSP 2.0 on määritelty mm. RFC 7826:ssa, joka tuo muutoksia ja selvennyksiä.

Vaihtoehdot

  • HLS (Apple) ja MPEG-DASH – segmentoituihin tiedostoihin perustuvat, HTTP:n yli toimivat ratkaisut, hyvä CDN-yhteensopivuus.
  • WebRTC – matalan viiveen selainpohjainen reaaliaikainen media, soveltuu videoneuvotteluihin ja interaktiivisiin sovelluksiin.

Toteutuksia ja työkalut

Monet avoimen lähdekoodin ja kaupalliset ohjelmistot tukevat RTSP:ää: esimerkiksi Live555, VLC, GStreamer, FFmpeg ja erilaiset kaupalliset mediaserverit (kuten aiemmin mainittu RealNetworksin palvelin). RTSP-implementaatioissa on eroja tukien (komennot, autentikointi, siirtomuodot), joten yhteensopivuustestaus on usein tarpeen.

Yhteenveto

RTSP on tehokas ja monipuolinen protokolla mediapalvelimien etähallintaan ja interaktiiviseen suoratoistoon. Vaikka itse mediadatan siirto tapahtuu yleensä muilla protokollilla (RTP/RTCP, TCP-interleaving tai toimittajakohtaiset ratkaisut), RTSP tarjoaa tarvittavat komennot ja istunnonhallinnan. Nykyaikaisessa suoratoistossa RTSP kilpailee ja täydentää muita protokollia, ja valinta riippuu latenssivaatimuksista, verkko-olosuhteista ja integraatiotarpeista.

Asiakkaat

  • GStreamer
  • Media Player Classic
  • MPEG4IP
  • MPlayer
  • QuickTime
  • Avi-soitin
  • RealPlayer
  • Skype
  • VLC-mediasoitin
  • Winamp
  • Windows Media Player
  • Xine
  • MythTV Freeboxin kautta
  • Gom pelaaja

Palvelinohjelmisto

  • QuickTime Streaming Server: Apple suljetun lähdekoodin suoratoistopalvelin, joka toimitetaan Mac OS X Serverin mukana.
  • Darwin Streaming Server: Avoimen lähdekoodin versio Quicktime Streaming Serveristä, jota Apple ylläpitää.
  • pvServer: Tämä on Alcatel-Lucentin suoratoistopalvelintuote, jonka aiempi nimi oli PacketVideo Streaming Server.
  • Helix DNA Server: RealNetworksin suoratoistopalvelin. Saatavana sekä avoimen lähdekoodin että patentoituna versiona.
  • Live555: Avoimen lähdekoodin C++-palvelin- ja asiakaskirjastot, joita käytetään tunnetuissa ohjelmissa kuten VLC ja mplayer.
  • VideoLAN: Avoimen lähdekoodin mediasoitin ja suoratoistopalvelin
  • Windows Media Services: Microsoftin suoratoistopalvelin, joka sisältyy Windows Serveriin.
  • VX30: Maui X-Streamin suoratoistovideopalvelin ja sulautettu JAVA-asiakasohjelma.

Aiheeseen liittyvät sivut



Etsiä
AlegsaOnline.com - 2020 / 2025 - License CC3