SDP: Session Description Protocol
Opettele, miten SDP kuvaa vertaisten välillä yhteyden neuvottelemiseksi vaihdettavan mediaformaatin, koodekin ja verkkotiedot.
SDP: Session Description Protocol on ilmainen Reaaliaikaiset suoratoistojärjestelmät (WebRTC + reaaliaikainen data)-oppitunti CoddyKitissä. Tämä on oppitunti 2/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Reaaliaikaiset suoratoistojärjestelmät (WebRTC + reaaliaikainen data)-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Reaaliaikaiset suoratoistojärjestelmät (WebRTC + reaaliaikainen data)-kurssilla on yhteensä 4 oppituntia.
Mikä SDP on?
SDP on lyhenne sanoista Session Description Protocol. Se on tekstimuotoinen formaatti, jota WebRTC käyttää mediaistunnon ominaisuuksien ja parametrien kuvaamiseen.
Ajattele sitä suunnitelmana siitä, millaista ääntä, videota ja dataa vertaisosapuoli haluaa lähettää tai vastaanottaa ja miten siihen voidaan muodostaa yhteys.
SDP:n rooli WebRTC:ssä
Ennen kuin kaksi WebRTC-vertaisosapuolta voi lähettää dataa suoraan, niiden on sovittava monista asioista:
- Mitä mediatyyppejä (ääni, video, data) ne tukevat.
- Mitä koodekkeja käytetään (esimerkiksi Opus äänelle ja VP8 videolle).
- Mitkä ovat niiden verkko-osoitteet ja yhteysmenetelmät.
SDP on standardi tapa vaihtaa nämä tärkeät tiedot.
SDP tarjous- ja vastausmallissa
WebRTC käyttää neuvotteluun ”tarjous/vastaus”-mallia. Yksi vertaisosapuoli luo SDP-tarjouksen, joka kuvaa sen ominaisuudet. Toinen vertaisosapuoli vastaanottaa sen ja luo SDP-vastauksen, joka ilmaisee sen omat ominaisuudet ja hyväksynnän.
Tämä vaihto tapahtuu signalointipalvelimen kautta, kuten edellisessä oppitunnissa käsiteltiin.
SDP-viestin rakenne
SDP-viesti koostuu riveistä, joista jokainen alkaa yhdellä pienellä kirjaimella ja yhtäläisyysmerkillä (=). Rivit ryhmitellään istunnon kuvaukseen ja yhteen tai useampaan median kuvaukseen.
Yleisiä rivejä ovat: v=, o=, s=, t=, c=, m= ja a=.
SDP: versio ja alkuperä
Jokainen SDP-viesti alkaa versiorivillä ja alkuperärivillä:
v=0: Määrittää SDP-protokollan version. WebRTC:ssä aina 0.o=: Kuvaa istunnon aloittajan ja tunnisteen.IN IP4
<sess-id> ja <sess-version> ovat yksilöllisiä numeroita, ja paikallisesti luotaessa <address> on yleensä 127.0.0.1.
SDP: Istunnon nimi ja aika
Seuraavaksi löydämme istunnon nimen ja ajan kuvauksen:
s=-: Istunnon nimi. WebRTC:ssä usein pelkkä yhdysmerkki.t=0 0: Istunnon aktiivinen aika.0 0tarkoittaa WebRTC:ssä pysyvää eli aina aktiivista istuntoa.
Nämä rivit antavat koko istunnolle perustiedot.
SDP: Yhteystiedot
c=-rivi sisältää yhteystiedot, erityisesti istunnon IP-osoitteen. WebRTC:ssä arvoksi asetetaan usein 0.0.0.0 tai 127.0.0.1, koska varsinaiset vertaisverkkoyhteyden osoitteet neuvotellaan myöhemmin ICE-ehdokkaiden avulla.
Esimerkki: c=IN IP4 0.0.0.0
SDP: Mediakuvaukset (`m=`)
m=-rivi on erittäin tärkeä! Se kuvaa tiettyä mediavirtaa (ääni, video tai datakanava). SDP voi sisältää useita m=-rivejä.
Muoto: m=
<media>:audio,videotaiapplication(datakanaville).<port>: Porttinumero (WebRTC:ssä usein 9, varsinainen portti saadaan ICE:ltä).<protocol>: EsimerkiksiUDP/TLS/RTP/SAVPF.<fmt list>: Tuettujen hyötykuormatyyppien eli koodekkien luettelo.
SDP: Attribuutit (`a=`)
a=-rivit sisältävät istunnon tai tietyn mediavirran lisäattribuutteja. Ne ovat hyvin joustavia ja sisältävät paljon WebRTC-kohtaista tietoa.
a=rtpmap:: Yhdistää hyötykuormatyypit koodekkeihin./ a=fingerprint:...: TLS-varmenteen sormenjälki.a=sendrecv,a=sendonly,a=recvonly: Median lähetys- ja vastaanottosuunta.a=ice-ufrag,a=ice-pwd: Käytetään ICE-yhteystarkistuksiin.
Tutustu yksinkertaistettuun SDP:hen
Tässä on yksinkertaistettu esimerkki siitä, miltä SDP-tarjous voisi näyttää. Huomaa eri rivit ja niiden roolit istunnon ja mediaominaisuuksien kuvaamisessa.
Kokeile suorittaa se nähdäksesi SDP-tekstin sellaisenaan!
function main() {
const sdpExample = `v=0
o=- 3749449080 3749449080 IN IP4 127.0.0.1
s=-
t=0 0
c=IN IP4 0.0.0.0
m=audio 9 UDP/TLS/RTP/SAVPF 111
a=rtpmap:111 opus/48000/2
a=mid:audio
a=sendrecv
a=ice-ufrag:abcdefg
a=ice-pwd:hijklmn
a=fingerprint:sha-256 A1:B2:C3:D4:E5:F6:A7:B8:C9:D0:E1:F2:A3:B4:C5:D6:E7:F8:A9:B0:C1:D2:E3:F4:A5:B6:C7:D8
`;
console.log("Simplified SDP Offer:");
console.log(sdpExample);
}
main();SDP:n pikatarkistus
Mikä SDP-rivi kuvaa ensisijaisesti median tyypin (ääni, video tai data), siihen liittyvän portin, siirtoprotokollan ja tuetut muodot?
Kertaus: SDP:n perusteet
Hienoa työtä! Olet oppinut SDP:stä eli Session Description Protocol -protokollasta, joka on WebRTC:n keskeinen osa.
- SDP on tekstimuoto, jolla kuvataan median ja verkon ominaisuuksia.
- Sitä käytetään Offer/Answer-mallissa yhteyksien neuvottelemiseen.
- Keskeisiä rivejä ovat
v=,o=,s=,t=,c=,m=jaa=. m=-rivi kuvaa mediaa, jaa=-rivit tarjoavat monipuolisia attribuutteja.
Seuraavaksi tutustumme ICE-ehdokkaisiin, joiden avulla vertaiset löytävät parhaan verkkoreitin!
Opi Reaaliaikaiset suoratoistojärjestelmät (WebRTC + reaaliaikainen data) tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 12
- Oppitunnit
- 48
Usein kysytyt kysymykset
Onko oppitunti ”SDP: Session Description Protocol” ilmainen?
Kyllä – oppitunnin ”SDP: Session Description Protocol” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Reaaliaikaiset suoratoistojärjestelmät (WebRTC + reaaliaikainen data)-kurssin, päivitä CoddyKit PROhon. Reaaliaikaiset suoratoistojärjestelmät (WebRTC + reaaliaikainen data)-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”SDP: Session Description Protocol”?
Opettele, miten SDP kuvaa vertaisten välillä yhteyden neuvottelemiseksi vaihdettavan mediaformaatin, koodekin ja verkkotiedot. Harjoittelet Reaaliaikaiset suoratoistojärjestelmät (WebRTC + reaaliaikainen data)-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Reaaliaikaiset suoratoistojärjestelmät (WebRTC + reaaliaikainen data)-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Reaaliaikaiset suoratoistojärjestelmät (WebRTC + reaaliaikainen data)-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/4.
Kuinka kauan ”SDP: Session Description Protocol”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Reaaliaikaiset suoratoistojärjestelmät (WebRTC + reaaliaikainen data)-oppitunnilla?
Kyllä. Jokainen Reaaliaikaiset suoratoistojärjestelmät (WebRTC + reaaliaikainen data)-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Signalointipalvelinten rooli
- SDP: Session Description Protocol
- ICE-ehdokkaat ja yhteyden muodostaminen
- Uudelleenneuvottelu ja yhteyden tila