Streaming-systemer i realtid (WebRTC og live-data) · Lektion

Forklaring af WebRTC's kernekomponenter

Forstå WebRTC's vigtigste komponenter: getUserMedia, RTCPeerConnection og RTCDataChannel samt deres funktioner.

Lektion 3 af 411 trin

Forklaring af WebRTC's kernekomponenter er en gratis Streaming-systemer i realtid (WebRTC og live-data)-lektion på CoddyKit. Dette er lektion 3 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Streaming-systemer i realtid (WebRTC og live-data), og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Streaming-systemer i realtid (WebRTC og live-data)-kurset indeholder 4 lektioner i alt.

WebRTCs grundlæggende byggeklodser

WebRTC bygger på tre JavaScript-API'er: getUserMedia (kamera og mikrofon), RTCPeerConnection (P2P-forbindelsen) og RTCDataChannel (vilkårlige data).

Adgang til medier med getUserMedia

getUserMedia() er din adgang til brugerens kamera og mikrofon. Den beder om tilladelse og returnerer derefter en MediaStream med lyd- og videosporene.

getUserMedia i praksis

Dette kodestykke anmoder om adgang til kamera og mikrofon og knytter derefter den resulterende MediaStream til et videoelement på siden.

async function startLocalStream() {
  try {
    const stream = await navigator.mediaDevices.getUserMedia({
      video: true,
      audio: true
    });
    const localVideo = document.getElementById('localVideo');
    localVideo.srcObject = stream;
  } catch (error) {
    console.error('Error accessing media devices:', error);
  }
}

// Call the function to start the stream
// startLocalStream();

RTCPeerConnection: Den centrale forbindelse

RTCPeerConnection er WebRTCs hjerte. Den administrerer hele peer-to-peer-forbindelsen: oprettelse af forbindelse, kodning og afkodning af medier samt håndtering af netværk og sikkerhed.

Opsætning af en peer-forbindelse

Du opretter en RTCPeerConnection pr. peer. Den forhandler forbindelsen ved at udveksle tilbud og svar (SDP) samt netværkskandidater (ICE), som koden viser.

const peerConnection = new RTCPeerConnection({
  iceServers: [
    { urls: 'stun:stun.l.google.com:19302' }
  ]
});

// Add a local media stream to the connection
// stream.getTracks().forEach(track => {
//   peerConnection.addTrack(track, stream);
// });

RTCDataChannel: Mere end lyd og video

Mens medier flyder gennem forbindelsen, transporterer RTCDataChannel alle slags data – perfekt til tekstchat, fildeling eller synkronisering af spiltilstand.

Dataforbindelser i praksis

Du åbner en dataforbindelse på en eksisterende forbindelse. Den fungerer meget som en WebSocket: Du sender beskeder og lytter efter indgående data, som vist.

const dataChannel = peerConnection.createDataChannel('chat');

dataChannel.onopen = (event) => {
  console.log('Data channel opened!');
  dataChannel.send('Hello from CoddyKit!');
};

dataChannel.onmessage = (event) => {
  console.log('Received message:', event.data);
};

dataChannel.onclose = () => {
  console.log('Data channel closed.');
};

Sammenligning af DataChannel og medier

Begge bruger den samme P2P-forbindelse. Mediestrømme foretrækker UDP til lyd og video i realtid, mens dataforbindelser kan være pålidelige eller upålidelige ligesom TCP eller UDP.

Det samlede WebRTC-forløb

Delene hænger sammen: Hent medier med getUserMedia, opret en RTCPeerConnection, tilføj spor, åbn eventuelt en dataforbindelse, og udveksl derefter SDP/ICE for at oprette forbindelsen.

Hurtigt tjek: Kernekomponenter

Hvilken WebRTC-komponent har primært ansvaret for at oprette og administrere selve peer-to-peer-forbindelsen?

Opsummering: WebRTCs fundament

Opsummering: WebRTCs fundament består af tre API'er – getUserMedia, RTCPeerConnection og RTCDataChannel. Næste emne: Hvordan signalering hjælper peers med at finde hinanden.

Gratis at komme i gang

Lær Streaming-systemer i realtid (WebRTC og live-data) med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
12
Lektioner
48

Ofte stillede spørgsmål

Er lektionen “Forklaring af WebRTC's kernekomponenter” gratis?

Ja — hele teksten til “Forklaring af WebRTC's kernekomponenter” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Streaming-systemer i realtid (WebRTC og live-data)-kurset, skal du opgradere til CoddyKit PRO. Streaming-systemer i realtid (WebRTC og live-data)-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Forklaring af WebRTC's kernekomponenter”?

Forstå WebRTC's vigtigste komponenter: getUserMedia, RTCPeerConnection og RTCDataChannel samt deres funktioner. Du øver dig i Streaming-systemer i realtid (WebRTC og live-data) med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Streaming-systemer i realtid (WebRTC og live-data)?

Der kræves ingen tidligere erfaring. Streaming-systemer i realtid (WebRTC og live-data) på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 3 af 4.

Hvor lang tid tager lektionen “Forklaring af WebRTC's kernekomponenter”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Streaming-systemer i realtid (WebRTC og live-data)-lektion?

Ja. Alle Streaming-systemer i realtid (WebRTC og live-data)-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Hvad er realtidskommunikation?
  2. Overblik over WebRTC-teknologien
  3. Forklaring af WebRTC's kernekomponenter
  4. Transportprotokoller: UDP versus TCP til streaming
← Tilbage til Streaming-systemer i realtid (WebRTC og live-data)