RTSP: reaalajas voogedastuse protokoll — mis see on ja kuidas töötab

Mis on RTSP ja kuidas see töötab? Tutvu reaalajas voogedastuse protokolli, käskude (play/pause), RTP ja serveri juhtimise põhimõtetega — praktiline ülevaade.

Autor: Leandro Alegsa

Reaalajas striimimise protokoll (Real Time Streaming Protocol, RTSP), mille on välja töötanud IETF ja mis loodi 1998. aastal RFC 2326-na, on protokoll, mida kasutatakse voogedastussüsteemides ja mis võimaldab kliendil kaugjuhtida voogedastusserverit, andes videomagnetofoni sarnaseid käske, nagu "play" ja "pause", ning võimaldades ajalist juurdepääsu serveris olevatele failidele. RTSP on eelkõige kontrolli- ja järjekorraprotokoll: kliendi ja serveri vaheline suhtlus sisaldab käsklusi, sessiooni haldust ja olekuinfot, kuid ei määra ise multimeedia kodekeid ega andmete paketisõidureegleid.

Streamiandmete saatmine ise ei ole RTSP-protokolli osa. Enamik RTSP-servereid kasutab tegelike audio-/videoandmete edastamiseks standarditel põhinevat RTP/RTCP-i (Real-time Transport Protocol ja selle kontrollprotokoll RTCP). RTP kannab multimeediapakke, RTCP annab tagasisidet kvaliteedi ja synchronisatsiooni kohta. RealNetworks'i RTSP-server kasutab transpordiprotokollina ka RealNetworks'i oma RDT-d. Kui UDP-põhine RTP ei ole võimalik (nt tulemüüri või NAT piirangute tõttu), saab RTP-andmeid sageli interleevida RTSP TCP-ühenduse kaudu või „tunnelida” RTSP/RTMP läbi HTTP, et läbida piiranguid.

Kuidas RTSP töötab

RTSP töötab sarnaselt käsureamoodiga kliendi ja serveri vahel: klient küsib sessiooni kirjelduse, seab ülesed transpordikanalid ja käivitab või peatab voogu. Tüüpiline voogu alustava seansi käik näeb välja nii:

  • DESCRIBE — klient palub serverilt sessiooni kirjelduse (tavaliselt SDP-formaadis), kus on info saadaolevate voogude, kodekite ja portide kohta.
  • SETUP — seadistab transpordi ja voogude vahelised kanalid (nt UDP portide paar või TCP interleave) ning loob sessiooni identifikaatori.
  • PLAY — käivitab andmeside (server hakkab RTP-iga andmeid saatma või lubab kliendil neid vastu võtta).
  • PAUSE — peatab ajutiselt edastuse, säilitades sessiooni.
  • TEARDOWN — lõpetab sessiooni ja vabastab ressursid.

Loomulikult toetab RTSP ka täiendavaid meetodeid nagu OPTIONS (võimaluste päring), ANNOUNCE (serveri või kliendi poolt saadetav info), RECORD (salvestamine serverisse) ja SET_PARAMETER/GET_PARAMETER sessiooni parameetrite lugemiseks või muutmiseks.

Põhilised omadused ja tehnilised detailid

  • Oleku- ja sessioonipõhine: RTSP on stateful — server salvestab sessiooni oleku ja identifikaatori, mis võimaldab juhtida sama voogu mitme käsuga.
  • SDP kasutamine: DESCRIBE vastuses kasutatakse sageli SDP (Session Description Protocol) formaati, et edastada voogude, kodekite ja transpordimuutujate kirjeldus.
  • Vaheprotokollid: RTSP kontrollib voogu, RTP kannab reaalajas meedia pakette ja RTCP hoolitseb kvaliteediteabe eest.
  • Vaikimisi port: RTSP kasutab tavaliselt TCP porti 554 kliendi ja serveri halduskäskude jaoks; RTP jaoks kasutatakse dünaamilisi UDP-porte, kui ei ole kokku lepitud teisiti.

Kasutusvaldkonnad

RTSP on laialt levinud rakendustes, kus on vaja madalat latentsust ja reaalaja juhtimist, näiteks:

  • IP-kaamerad ja valvekaamerad (videovalve), kus klient võib voogu peatada või kerida.
  • meediaserverid ja professionaalsed voogedastusteenused.
  • some videokonverentsisüsteemid või vahendid, mis vajavad täpset ajastust ja juhtimist.

Piirangud ja alternatiivid

  • Brauseritugi: enamik veebibrausereid ei toeta RTSP-i otse, seega tuleb kasutada eraldi mängijat või gateway'd (näiteks muundamist HLS-/DASH-formaati või WebRTC-sillad).
  • NAT ja tulemüürid: UDP-põhine RTP võib põhjustada keerukusi NAT-i ja tulemüüri tingimustes; selle tõttu kasutatakse tihti TCP-interleavingut või HTTP-tunnelit.
  • Alternatiivid: HTTP-põhised lahendused nagu HLS ja MPEG-DASH on laialt levinud, kuna need töötavad hästi olemasolevate HTTP-infrastruktuuridega ja tulemüüridega. Väga madala latentsusega reaalaja suhtluseks kasutatakse sageli WebRTC-d.

Turvalisus

RTSP toetab sarnaseid autentimis- ja autoriseerimismehhanisme nagu HTTP (näiteks Basic ja Digest autentimine). Krüpteerimiseks võib RTSP-ühendust jooksutada TLS-i peal või kasutada muid krüpteeritud kanaleid (tihti nimetatakse seda lühidalt RTSPS-iks või RTSP üle TLS). Samuti on soovitatav kasutada võrgu- ja rakenduspõhiseid tulemüüre ning transpordi krüpteerimist, eriti avalikes või ebaturvalistes võrkudes.

Kokkuvõttes on RTSP võimas ja paindlik juhtimisprotokoll reaalajas voogedastuseks: ta ei kanna meedia-andmeid ise, vaid kontrollib ja koordineerib voogude edastamist, tavaliselt RTP abil. Kui vaja on brauseris või põrandaeest laialdast tuge, võib osutuda vajalikuks RTSP-i konverteerimine või selle asendamine HTTP-põhise lahendusega.

Kliendid

  • GStreamer
  • Media Player Classic
  • MPEG4IP
  • MPlayer
  • QuickTime
  • Avi mängija
  • RealPlayer
  • Skype
  • VLC meediapleier
  • Winamp
  • Windows Media Player
  • Xine
  • MythTV kaudu Freebox
  • Gom mängija

Serveri tarkvara

  • QuickTime Streaming Server: Apple'i suletud lähtekoodiga voogedastusserver, mis on kaasas Mac OS X Serveriga.
  • Darwin Streaming Server: Apple'i poolt hooldatav Quicktime Streaming Server'i avatud versioon.
  • pvServer: See on Alcatel-Lucenti voogedastusserver, mida varem nimetati PacketVideo Streaming Serveriks.
  • Helix DNA Server: RealNetworks'i voogedastusserver. Saadaval nii avatud lähtekoodiga kui ka patenteeritud versioonina.
  • Live555: Avatud lähtekoodiga C++ server ja kliendiraamatukogud, mida kasutatakse tuntud klientides nagu VLC ja mplayer.
  • VideoLAN: avatud lähtekoodiga meediapleier ja voogedastusserver
  • Windows Media Services: Microsofti voogedastusserver, mis on lisatud Windows Serverile.
  • VX30: Maui X-Stream'i voogedastusserver ja sisseehitatud JAVA-klient.

Seotud leheküljed

  • Reaalajaline transpordiprotokoll (RTP)
  • Fusion RTSP lahendus manussüsteemidele, nt IPTV, internetitelevisioon ja mobiilsed internetiseadmed.


Otsige
AlegsaOnline.com - 2020 / 2025 - License CC3