2024-07-08
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀
🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C 、数据结构、音视频🍭
🤣本文内容🤣:🍭介绍RTSP协议 🍭
😎金句分享😎:🍭你不能选择最好的,但最好的会来选择你——泰戈尔🍭
⏰Julkaisuaika⏰: 2024-07-06 12:22:00
Tätä artikkelia ei saa lähettää eteenpäin ilman lupaa! ! !
RTSP, koko nimi Real Time Streaming Protocol
, reaaliaikainen suoratoistoprotokolla, on sovelluskerroksen protokolla TCP/IP-protokollajärjestelmässä. Se on Columbia Universityn, Netscapen ja RealNetworksin toimittama IETF RFC -standardi.
Virallinen asiakirja RTSP-protokollasta on RFC2326, asiakirjalinkki:RFC2326-Real Time Streaming Protocol (RTSP)。
RTSP-protokollan syntaksi ja toiminta on viitattu. HTTP/1.1
, tekstipohjainen protokolla, joka käyttää ISO10646-merkistöä ja UTF-8-koodausta, joka kuljettaa RTSP:täTCP
, oletusportti554
Jos kyseessä on RTSP-HTTP-tunnelointi, oletusarvoinen TCP-portti on yleisesti käytössä RTP/RTCP-protokollan yhteydessä, RTP-protokolla lähettää reaaliaikaista tietovirtaa ja RTCP-protokolla suorittaa tietovirtojen lähetyksen. ohjauskomennot.
RTP-protokolla: koko nimi
Real-time Transport Protocol
IETF:n Multimedia Transmission Working Group julkisti reaaliaikaisen lähetysprotokollan vuonna 1996 RFC 1889:ssä. RTP-protokolla kertoo standardin pakettimuodon äänen ja videon toimittamiseen Internetin kautta. Se on rakennettu UDP-protokollalle.
RTCP-protokolla: koko nimi
Real-time Transport Control Protocol
, Reaaliaikainen liikenteen ohjausprotokolla, käytetään RTP:n kanssa. RTP käyttää parillista UDP-porttia. RTCP käyttää seuraavaa RTP-porttia, joka on pariton portti. RTCP ja RTP toimivat yhdessä RTP toteuttaa todellisen tiedon siirron, ja RTCP on vastuussa ohjauspakettien lähettämisestä kaikille istunnon osallistujille. Sen päätehtävänä on antaa palautetta RTP:n tarjoaman palvelun laadusta.
Ero RTSP-protokollan ja HTTP-protokollan välillä:
RTSP on tilallinen, ja sen komennot lähetetään aina järjestyksessä, ja yksi komento on aina ehkä lähetettävä ennen toista komentoa. HTTP on tilaton Kun protokolla lähettää komennon, yhteys katkeaa, eikä komentojen välillä ole riippuvuutta.
rtsp-protokolla käyttää porttia 554 ja http käyttää porttia 80.
RTSP-pyynnöt voivat lähettää sekä palvelin että asiakas, kun taas HTTP-pyyntöjä voi lähettää vain asiakas.
Yleisesti käytettyjä RTSP-menetelmiä ovat: OPTIONS, DESCRIBE, SETUP, PLAY, PAUSE, TEARDOWN, ANNOUNCE, GET_PARAMETER ja SET_PARAMETER jne. Yksityiskohtaiset käyttöohjeet ovat seuraavat:
OPTIONS
: Asiakas saa palvelimelta palvelimen tukeman menetelmän. Se ei vaikuta palvelimen tilaan;DESCRIBE
: Asiakas saa URL-osoitteen määrittämän mediaobjektin kuvauksen palvelimelta, jossaAccept
Kenttä määrittää kuvausmuodon;SETUP
: Asiakas pyytää palvelinta muodostamaan istunnon ja valmistautumaan lähetystä varten. Pyyntötiedot sisältävät pääasiassa lähetysprotokollan ja asiakkaan porttinumeron;PLAY
: Asiakas ilmoittaa aktiivisesti palvelimelle tietojen lähettämisen aloittamisesta ASETUKSEN määrittelemällä mekanismilla.sisäänRange
Kenttä määrittää toiston alkamis- ja päättymisajan (reaaliaikainen stream Range on yleensäRange: npt=0.000-
), kun useita PLAY-pyyntöjä saapuu, palvelin asettaa PLAY-pyynnöt jonoon ja suorittaa ne peräkkäin, eli sen on odotettava ensimmäisen PLAY-ajan päättymistä ennen kuin jatkaa toisen PLAY-viestin käsittelyä.PAUSE
: Asiakas pyytää, että palvelimen median suoratoisto keskeytetään väliaikaisesti.pystyy ohittamaanRange
Parametri pysähtyy tiettynä ajankohtana tai voit määrittää keskeytettävän streamin. Jos esimerkiksi määrität keskeytettävän äänivirran, toisto on äänetön.RECORD
: RECORD ilmoittaa palvelimelle, että asiakas alkaa tallentaa mediadataa edellisen kuvauksen mukaisesti. sisääntimestamp
Kentät kuvaavat alkamis- ja päättymisaikoja (UTC). Jos tätä kenttää ei ole, käytetään mediakuvauksen alkamis- tai lopetusaikaa. Jos istunto on jo alkanut, tallennus alkaa välittömästi.request-URI
Seuraava tai toinen URI. Jos palvelin ei käytä pyyntö-URI:ta, vastauksen tulee olla 201 (Luotu) ja sen tulee sisältää Entity and Location -otsikko, joka kuvaa pyynnön tilan ja viittaa uuteen resurssiin.TEARDOWN
: Asiakas pyytää lopettamaan määritetyn URL-virran lähettämisen ja vapauttamaan liittyvät resurssit.REDIRECT
: Pyynnön uudelleenohjaamiseksi palvelin ilmoittaa asiakkaalle, että sen on muodostettava yhteys toiseen palvelimeen. Se sisältää pakollisen Location-otsikon, joka osoittaa, että asiakkaan tulee pyytää tätä URL-osoitetta. Se voi sisältää parametrin Alue, joka ilmaisee, milloin uudelleenohjaus tulee voimaan. Jos asiakas haluaa jatkaa median lähettämistä tai vastaanottamista tälle URI:lle, asiakkaan on lähetettävä TEARDOWN-pyyntö nykyiselle istunnolle ja SETUP uudelle istunnolle määritetyssä isännässä.ANNOUNCE
: Kun asiakas lähettää palvelimelle, se tarkoittaa pyynnön URL-osoitteen tunnistaman esityksen kuvauksen tai mediaobjektin lähettämistä palvelimelleGET_PARAMETER
:GET_PARAMETER -pyyntö URI:ssa määritetyn esityksen tai virran parametriarvojen noutamiseksi. Vastausten ja vastausten sisältö jätetään toteutuksen päätettäväksi. GET_PARAMETER ilman entiteettirunkoa voidaan käyttää asiakkaan tai palvelimen elävyyden ("ping") testaamiseen.SET_PARAMETER
: Tämä menetelmä pyytää asettamaan demon tai URL-osoitteen määrittämän virran parametriarvot. Pyynnöt saavat sisältää vain yhden parametrin, jonka avulla asiakas voi päättää, miksi tietty pyyntö epäonnistui. Jos pyyntö sisältää useita parametreja, kaikki parametrit voidaan asettaa onnistuneesti, ja palvelimen tulee toimia vain tämän pyynnön perusteella. Palvelimen on sallittava parametrien asettaminen samaan arvoon toistuvasti, mutta se ei saa muuttaa parametrin arvoa. Huomautus: Median suoratoistoparametrit on asetettava SETUP-komennolla. Palomuurien on hyödyllistä rajoittaa asetusten siirtoparametrit SETUP:iin.Yllä on esitelty yhteensä 11 RTSP-menetelmää, joista mm.SETUP
、PLAY
、TEARDOWN
Kolme komentoa ovat välttämättömiä RTSP-prosessissa, ja muut menetelmät eivät ole välttämättömiä.jaANNOUNCE
、GET_PARAMETER
、SET_PARAMETER
Kolme komentoa voidaan lähettää asiakkaalta palvelimelle tai palvelimelta asiakkaalle. Muut komennot lähetetään asiakkaalta palvelimelle.
RTSP:llä on kahdenlaisia viestejä: pyyntöviestit ja vastausviestit. Pyyntösanoma viittaa asiakkaalta palvelimelle lähetettyyn pyyntöviestiin ja vastausviesti viittaa palvelimelta asiakkaalle lähettämään vastaukseen.
RTSP-pyyntösanoma koostuu kolmesta osasta: pyyntörivi, pyynnön otsikko ja pyynnön runko. Niistä vaaditaan pyyntörivi, kun taas pyynnön otsikko ja pyynnön runko ovat valinnaisia tilanteesta riippuen.
rn
)Suorittaa loppuun.方法
: Se on edellä esitelty RTSP-menetelmä. Sisältää ASETUKSET, KUVAUS, ASETUS, TOISTO, PYSÄYTÄ, PISTÄ jne.请求URI
: Tunnistaa käytettävän mediaresurssin, yleensä muodossa rtsp://example.com/path/to/stream.协议版本
: Ilmaisee RTSP-protokollan version, jota pyyntö yleensä seuraaRTSP/1.0
taiRTSP/2.0
。OPTIONS rtsp://192.168.3.225:554/wbc RTSP/1.0
CSeq: 2
User-Agent: LibVLC/3.0.19 (LIVE555 Streaming Media v2016.11.28)
RTSP-pyyntöviesti koostuu kolmesta osasta: tilarivistä, vastauksen otsikosta ja vastauksen rungosta. Niistä tilarivi vaaditaan, kun taas vastauksen otsikko ja vastauksen runko ovat valinnaisia tilanteesta riippuen.
协议版本
: Ilmaisee RTSP-protokollaversion, jota vastaus seuraa, yleensä RTSP/1.0 tai RTSP/2.0.状态码
: Kolme numeroa, kuten: 200, 401, 500 jne., joita käytetään ilmaisemaan pyynnön käsittelytulos. Ensimmäinen numero edustaa vastausluokkaa: 2xx tarkoittaa onnistumista, 4xx tarkoittaa asiakasvirhettä ja 5xx tarkoittaa palvelinvirhettä.状态文本
: Lyhyt tekstikuvaus, joka selittää vastaavan tilakoodin merkityksen, kuten: OK, Luvaton jne.RTSP/1.0 200 OK
CSeq: 2
Date: Wed, Feb 04 1970 03:25:10 GMT
Public: OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE, GET_PARAMETER, SET_PARAMETER
v=0
o=- 8913478 1 IN IP4 192.168.3.91
s=LIVE555 Streaming Media v2016.07.19
i=1080
t=0 0
a=tool:LIVE555 Streaming Media v2016.07.19
a=type:broadcast
a=control:*
a=range:npt=0-
a=x-qt-text-nam:LIVE555 Streaming Media v2016.07.19
a=x-qt-text-inf:1080
m=video 0 RTP/AVP 96
c=IN IP4 0.0.0.0
b=AS:5000
a=rtpmap:96 H264/90000
a=fmtp:96 packetization-mode=1;profile-level-id=64002A;sprop-parameter-sets=Z2QAKq2EAQwgCGEAQwgCGEAQwgCEO1A8ARPyoA==,aO48sA==
a=control:track1
m=audio 0 RTP/AVP 97
c=IN IP4 0.0.0.0
b=AS:768
a=rtpmap:97 PCMA/48000/2
a=control:track2
RTSP-viestin vastausotsikko sisältää joitain kenttiä. Seuraavassa on joitain yleisesti käytettyjä kenttiä:
SETUP
Vastauksessa valittuna, kun asiakas saa istuntotunnuksen, se sisällyttää istunnon tunnuksen tuleviin istunnon pyyntöviesteihin. Esimerkiksi: Istunto: 4581E0AE;Käytä wiresharkia RTSP-suoratoistomedian verkkopakettien kaappaamiseen. Voit nähdä, että yleinen prosessi on seuraava:
1. Asiakas lähettääOPTIONS
menetelmä, palvelimen vastaus;
2. Asiakas lähettääDESCRIBE
menetelmä, palvelimen vastaus;
3. Asiakas lähettääSETUP
menetelmä, palvelimen vastaus;
2. Asiakas lähettääPLAY
menetelmä, palvelimen vastaus;
2. Asiakas lähettääTEARDOWN
menetelmä, palvelimen vastaus;
Täydellinen virtauspaketti on seuraava:
OPTIONS rtsp://192.168.3.225:554/wbc RTSP/1.0
CSeq: 2
User-Agent: LibVLC/3.0.19 (LIVE555 Streaming Media v2016.11.28)
RTSP/1.0 200 OK
CSeq: 2
Date: Wed, Jul 03 2024 14:42:11 GMT
Public: OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE, GET_PARAMETER, SET_PARAMETER
DESCRIBE rtsp://192.168.3.225:554/wbc RTSP/1.0
CSeq: 3
User-Agent: LibVLC/3.0.19 (LIVE555 Streaming Media v2016.11.28)
Accept: application/sdp
RTSP/1.0 200 OK
CSeq: 3
Date: Wed, Jul 03 2024 14:42:11 GMT
Content-Base: rtsp://192.168.3.225/wbc/
Content-Type: application/sdp
Content-Length: 472
v=0
o=- 1720014950032000 1 IN IP4 192.168.3.225
s=LIVE555 Streaming Media v2016.07.19
i=wbc
t=0 0
a=tool:LIVE555 Streaming Media v2016.07.19
a=type:broadcast
a=control:*
a=range:npt=0-
a=x-qt-text-nam:LIVE555 Streaming Media v2016.07.19
a=x-qt-text-inf:wbc
m=video 0 RTP/AVP 96
c=IN IP4 0.0.0.0
b=AS:5000
a=rtpmap:96 H264/90000
a=fmtp:96 packetization-mode=1;profile-level-id=640029;sprop-parameter-sets=Z2QAKawsaoHgCJ WbgoCCgQ=,aO4xshs=
a=control:track1
SETUP rtsp://192.168.3.225/wbc/track1 RTSP/1.0
CSeq: 4
User-Agent: LibVLC/3.0.19 (LIVE555 Streaming Media v2016.11.28)
Transport: RTP/AVP;unicast;client_port=55320-55321
RTSP/1.0 200 OK
CSeq: 4
Date: Wed, Jul 03 2024 14:42:11 GMT
Transport: RTP/AVP;unicast;destination=192.168.2.180;source=192.168.3.225;client_port=55320-55321;server_port=6970-6971
Session: 4581E0AE;timeout=65
PLAY rtsp://192.168.3.225/wbc/ RTSP/1.0
CSeq: 5
User-Agent: LibVLC/3.0.19 (LIVE555 Streaming Media v2016.11.28)
Session: 4581E0AE
Range: npt=0.000-
RTSP/1.0 200 OK
CSeq: 5
Date: Wed, Jul 03 2024 14:42:11 GMT
Range: npt=0.000-
Session: 4581E0AE
RTP-Info: url=rtsp://192.168.3.225/wbc/track1;seq=7880;rtptime=3548171463
TEARDOWN rtsp://192.168.3.225/wbc/ RTSP/1.0
CSeq: 6
User-Agent: LibVLC/3.0.19 (LIVE555 Streaming Media v2016.11.28)
Session: 4581E0AE
RTSP/1.0 200 OK
CSeq: 6
Date: Wed, Jul 03 2024 14:42:19 GMT
Seuraavassa analysoidaan jokainen edellisessä viestissä käytetty RTSP-menetelmä ja vastaus.
Hanki käytettävissä olevat menetelmät palvelimelta:
Asiakas lähettää OPTIONS-menetelmän ja käyttääCSeq
Voit määrittää pyynnön järjestysnumeron käyttämälläUser-Agent
tunnistaa oman edustajansa;
Palvelin vastaa pyyntöön käyttämälläCSeq
Jos haluat ilmoittaa, mihin pyyntöön vastataan, käytäDate
määritä päivämäärä,Public
Määrittää tarjotun menetelmän.
Hae palvelimeltartsp://192.168.3.225:554/wbc
kuvaus mediaobjektista, missäAccept
Kenttä määrittää kuvausmuodon:
Asiakas lähettää DESCRIBE-menetelmän ja käyttääCSeq
Voit määrittää pyynnön järjestysnumeron käyttämälläUser-Agent
tunnista agenttisi,Accept
Kenttä määrittää kuvausmuodoksi SDP;
Palvelin vastaa tähän pyyntöön käyttämällä CSeq
Jos haluat ilmoittaa, mihin pyyntöön vastataan, käytäDate
määritä päivämäärä,Content-Type
Osoittaa, että sisältötyyppi on SDP,Content-Length
Määritä sisällön pituus.
Ilmoitus:
1. Joidenkin, jotka vaativat käyttäjätunnuksen ja salasanan, palvelin käsittelee DESCRIBE-menetelmän todennusta varten. Jos valtuutustodennustietoja ei kuljeteta tai todennus epäonnistuu, palvelin palauttaa vastauksen virhenumerolla 401. Kun asiakas vastaanottaa 401-vastauksen, sen on luotava valtuutus tunnettujen käyttäjän todennustietojen perusteella ja lähetettävä kuvaus uudelleen. Jos todennus onnistuu, palvelin palauttaa SDP:tä kuljettavat vastaustiedot.
2. Palvelimen palauttamat SDP-tiedot analysoidaan myöhemmässä artikkelissa.
Asiakas pyytää palvelinta muodostamaan istunnon ja valmistautumaan lähetystä varten. Pyyntötiedot sisältävät pääasiassa lähetysprotokollan ja asiakkaan porttinumeron;
Asiakas lähettää SETUP-menetelmän ja käyttääCSeq
Voit määrittää pyynnön järjestysnumeron käyttämälläUser-Agent
tunnista agenttisi,Transport
Kenttä määrittää hyväksyttävän siirtoprotokollan RTP/AVP ja portin (tässä RTP-portti on 55320 ja RTCP-portti 55321);
Palvelin vastaa tähän pyyntöön käyttämällä CSeq
Jos haluat ilmoittaa, mihin pyyntöön vastataan, käytäDate
määritä päivämäärä,Transport
Määritä siirtoprotokolla RTP/AVP, kohdeosoite, lähdeosoite, asiakasportti (RTP on 55320, RTCP on 55321), palvelinportti (RTP on 6970, RTCP on 6971),Session
Määritä istunnon tunnus.
Ilmoitus:
Tässä esimerkissä RTP lähetetään UDP-protokollan kautta. Joskus RTP lähetetään TCP:n kauttaTransport
Kentät vaihtelevat. Se voi olla seuraava:
客户端请求:Transport: RTP/AVP/TCP;unicast;interleaved=0-1
服务器响应:Transport: RTP/AVP/TCP;unicast;interleaved=0-1;ssrc=24e4e500;mode="play"
RTP/AVP/TCP
Osoittaa, että RTP-virta lähetetään TCP:n kautta. Kun tämä arvo tulee näkyviin, viestissä ei ole client_port-kenttää.
interleaved=0-1
Edustaa streamid-tunnusta, joka tunnistaa RTP-virran tunnus = 0;
Kun koodivirta lähetetään TCP:n kautta, se jakaa TCP-linkin RTSP:n kanssa, joten sen ei tarvitse muodostaa uutta yhteyttä RTP-, RTCP- ja RTSP-protokollan erottamiseksi on lisättävä otsikkotunniste otsikkokenttää käytetään tässä, ja tcphead on neljä sanaa, muoto on seuraava:
| magic number | channel number | embedded data length | data |
magic number
: 1 tavu, kiinteä0x24
, on hahmo$
, joka osoittaa, että lähetettävä data ei ole rtsp-protokollaa;
channel number
: 1 tavu, kanavatunnus, joka tunnistaa virran tyypin, joka on aiemmin mainittu streamid;
embedded data length
: 2 tavua, ilmaisee virran pituuden
data
: Ilmaisee RTP/RTCP-pakettidataa
Asiakas ilmoittaa aktiivisesti palvelimelle tietojen lähettämisen aloittamisesta SETUP:n määrittämän mekanismin avulla.
Asiakas lähettää PLAY-menetelmän ja käyttääCSeq
Voit määrittää pyynnön järjestysnumeron käyttämälläUser-Agent
tunnista agenttisi,Session
kenttä määrittää istunnon tunnuksen,Range
Kenttä määrittää toiston alkamis- ja päättymisajan.
Palvelin vastaa tähän pyyntöön käyttämällä CSeq
Ilmoita, mihin pyyntöön vastataanDate
määritä päivämäärä;Range
Kenttä määrittää toiston alkamis- ja päättymisajan.Session
Kenttä määrittää istunnon tunnuksen;RTP-Info
Kenttä kuvaa lähetettävän koodivirran RTP-tiedot, kuten ensimmäisen RTP-paketin seq ja rtptime. Asiakas voi demultipleksoida tämän kentän perusteella.
Asiakas pyytää lopettamaan määritetyn URL-virran lähettämisen ja vapauttamaan liittyvät resurssit.
Asiakas lähettää TEARDOWN-menetelmän ja käyttääCSeq
Voit määrittää pyynnön järjestysnumeron käyttämälläUser-Agent
tunnista agenttisi,Session
kenttä määrittää istunnon tunnuksen.
Palvelin vastaa tähän pyyntöön käyttämällä CSeq
Ilmoita, mihin pyyntöön vastataanDate
Määritä päivämäärä.
RTSP-vastaussisältö sisältää yleensä 3-numeroisen kokonaisluvun vastauskoodin. Lausekkeen tarkoitus on antaa lyhyt tekstikuvaus tilakoodista Asiakkaan ei tarvitse tarkistaa tai näyttää syylausetta. Vastauskoodin ensimmäisen numeron välisen eron mukaan se voidaan jakaa seuraaviin viiteen luokkaan:
Tietenkin RTSP-virhekoodit ja RTSP-menetelmät liittyvät toisiinsa vahvasti. Jotkut virheet voivat käynnistyä vain tietyissä menetelmissä.
virhekoodi | syylause | vastausmenetelmä |
---|---|---|
100 | Jatkaa | Kaikki |
200 | Menestys | Kaikki |
201 | Luotu | ENNÄTYS |
250 | Tallennustila vähissä | ENNÄTYS |
300 | Useita vaihtoehtoja | Kaikki |
301 | Siirretty Pysyvästi | Kaikki |
302 | Siirretty väliaikaisesti | Kaikki |
303 | Katso Muut | Kaikki |
305 | Käytä välityspalvelinta | Kaikki |
400 | Huono pyyntö | Kaikki |
401 | Luvaton | Kaikki |
402 | maksua vaaditaan | Kaikki |
403 | Kielletty | Kaikki |
404 | Ei löydetty | Kaikki |
405 | Menetelmä Ei Sallittu | Kaikki |
406 | Ei hyväksyttävä | Kaikki |
407 | Välityspalvelimen todennus vaaditaan | Kaikki |
408 | Pyynnön aikakatkaisu | Kaikki |
410 | Mennyt | Kaikki |
411 | Pituus vaaditaan | Kaikki |
412 | Edellytys epäonnistui DESCRIBE | PERUSTAA |
413 | Request Entity Too Larg | Kaikki |
414 | Pyyntö-URI liian pitkä | Kaikki |
415 | Mediatyyppiä ei tueta | Kaikki |
451 | Väärä syöte | PERUSTAA |
452 | Laiton konferenssitunniste | PERUSTAA |
453 | Ei tarpeeksi kaistanleveyttä | PERUSTAA |
454 | Istuntoa ei löydy | Kaikki |
455 | Menetelmä ei kelpaa tässä tilassa | Kaikki |
456 | Otsikkokenttä ei kelpaa | Kaikki |
457 | Virheellinen alue | PELATA |
458 | Parametri on vain luku -tilassa | SET_PARAMETER |
459 | Aggregaattitoiminto ei ole sallittu | Kaikki |
460 | Vain yhteenlaskettu toiminta sallittu | Kaikki |
461 | Ei tuettu kuljetus | Kaikki |
462 | Kohde tavoittamaton | Kaikki |
500 | Sisäinen palvelinvirhe | Kaikki |
501 | Ei toteutettu | Kaikki |
502 | Huono portti | Kaikki |
503 | palvelu ei saatavilla | Kaikki |
504 | Yhdyskäytävän aikakatkaisu | Kaikki |
505 | RTSP-versiota ei tueta | Kaikki |
551 | Vaihtoehtoa ei tueta | Kaikki |
如果文章有帮助的话,点赞👍、收藏⭐,支持一波,谢谢 😁😁😁
viitata:
Reaaliaikainen suoratoistoprotokolla – RTSP [yksityiskohtainen selitys]
Hallitse RTSP-pyynnöt ja vastaukset tyhjästä 1
Yksityiskohtainen kuvaus RTSP-suoratoistomediaprotokollasta