Kursplan

Dag 1 – Håndtering av medieenheter

1. Netleserrettigheter med navigator.permissions

  • Tilgang til maskinvare:
    • Webkamera
    • Mikrofon
  • Valgfrie rettigheter:
    • Geolokalisering
    • Varsler
    • Utklippstavle (les/skriv)
  • Spørring og status for rettigheter
  • Begrensninger og nettleserkompatibilitet
  • Praktisk tilfelle

2. Lesing av medieenheter med navigator.mediaDevices

  • Enheterregistering
  • Håndtering av endringer i enheter
  • Praktisk tilfelle

3. Tverr-nettleserkompatibilitet

  • API-bruk:
    • navigator.permissions.query()
    • navigator.mediaDevices.enumerateDevices()
    • getUserMedia()
  • Safari fallback-strategi
  • Praktisk tilfelle

4. Håndtering av medieenheter

  • Enheterinitialisering: getUserMedia(constraints)
  • Begrensninger for medieenheter
  • Starting og stoppe mediestrømmer
  • Håndtering av endringer i enheter
  • Praktisk tilfelle

5. Opptak av enheter med MediaRecorder

  • Start/stopp streaming og opptak
  • Last ned .webm-fil
  • Realtidsbølgeprevisning
  • Praktisk tilfelle

Valgfrie tillegg:

  • Lagre i .wav-format ved hjelp av ScriptProcessorNode
  • Visuell FFT-spektrumanalyse av lyd
  • Volumbare i desibeller
  • Stemmegjenkjenning med webkitSpeechRecognition

Dag 2 – Peer-tilkobling

1. Signaliseringsservere

  • Toveiskanalvalg:
    • WebSocket
    • Socket.io
    • SignalR
  • Melderstruktur
  • Enkel WebRTC-klient
  • Full signalkjeder
  • Praktisk tilfelle

2. Videochat via WebRTC

  • Arkitektur: Node.js + ws
  • WebRTC-klient: RTCPeerConnection
  • Lokal E2E-testing
  • Praktisk tilfelle

Valgfrie funksjoner:

  • Avslutte samtale (lukk tilkobling, stopp media)
  • Gruppeoppringing (flere brukerrom)
  • Enkel tokenbasert autentisering

3. Skjermdeling

  • Bruk av getDisplayMedia()
  • Arkitektur og valg
  • Praktisk tilfelle

4. Session Description Protocol (SDP)

  • Introduksjon og innhold
  • Lesing og tolking av SDP
  • Koder:
    • Lyd & video
    • Forhandling og kontroll
    • Fallback-strategier
  • Praktisk tilfelle

5. WebRTC-statistikk med getStats()

  • Typer av statistikk
  • Hvordan tolke statistikk
  • Live bitrate/jitter-diagrammer
  • Strategier for kvalitetsjustering
  • Praktisk tilfelle

 

Krav

Denne kurset er ideell for frontend- og fullstackutviklere, tekniske arkitekter og ingeniører som bygger browserbaserte real-time-kommunikasjonsfunksjoner som videochat, skjermdeling eller audiostrømming. Deltakerne bør ha en arbeidsdyktig kunnskap om JavaScript og webteknologier, med valgfri erfaring i Node.js og WebSocket-basert kommunikasjon.
 14 timer

Antall deltakere


Pris per deltaker

Referanser (5)

Kommende kurs

Relaterte kategorier