Schița de curs

Gestionarea Dispozitivelor Media

1. Permisiuni Browser cu navigator.permissions

  • Acces la hardware:
    • Cameras video
    • Microfoane
  • Permisiuni opționale:
    • Geolocalizare
    • Notificări
    • Clipboard (citire/scrirere)
  • Interogarea permisiunilor și starea lor
  • Limițări și compatibilitatea browserului

2. Citire Dispozitive Media cu navigator.mediaDevices

  • Enumerare dispozitive
  • Gestionarea schimbărilor de dispozitiv

3. Compatibilitate Cross-Browser

  • Folosirea API-urilor:
    • navigator.permissions.query()
    • navigator.mediaDevices.enumerateDevices()
    • getUserMedia()
  • Strategie de fallback pentru Safari

4. Gestionarea Dispozitivelor Media

  • Inițializarea dispozitivului: getUserMedia(constraints)
  • Constrângeri dispozitive media
  • Pornirea și oprirea fluxurilor media
  • Gestionarea schimbărilor de dispozitiv

5. Înregistrarea Dispozitivelor cu MediaRecorder

  • Pornire/oprire flux și înregistrare
  • Descărcarea fișierului .webm
  • Previzualizare waveform în timp real

Add-on-uri Opționale:

  • Salvarea în format .wav folosind ScriptProcessorNode
  • Vizualizare spectru FFT audio
  • Bară de volum în decibeli
  • Recunoașterea voicii cu webkitSpeechRecognition

Conexiune Peer

1. Servere de Semnalizare

  • Opțiuni pentru canal bidirecțional:
    • WebSocket
    • Socket.io
    • SignalR
  • Structura mesajelor
  • Clienți WebRTC simplificați
  • Flux complet de semnalizare

2. Video Chat prin WebRTC

  • Arhitectură: Node.js + ws
  • Clienții WebRTC: RTCPeerConnection
  • Testare E2E locală

Funcții Opționale:

  • Finalizarea apelului (închiderea conexiunii, oprirea media)
  • Apele de grup (camere multi-utilizator)
  • Autentificare simplă bazată pe token

3. Împărtășirea Ecranului

  • Folosirea getDisplayMedia()
  • Arhitectură și opțiuni

4. Protocolul Descrierii Sesiunii (SDP)

  • Introducere și conținuturi
  • Citirea și interpretarea SDP-ului
  • Codec-uri:
    • Audio & Video
    • Negotiere și control
    • Strategii de fallback

5. Statistici WebRTC cu getStats()

  • Tipuri de statistici
  • Cum să interpretezi statisticile
  • Grafice bitrate/jitter live
  • Strategii de adaptare a calității

6. Toate subiectele sunt

  • Cazuri practice

Cerințe

Acest curs este ideal pentru dezvoltatori frontend și full-stack, arhitecți tehnici și ingineri care construiesc funcții de comunicare browser-bazată în timp real precum video chat, împărtășirea ecranului sau streaming audio. Participanții ar trebui să aibă cunoștințe functionale ale JavaScript și tehnologiilor web, cu experiență opțională în Node.js și comunicație bazată pe WebSocket.

 14 ore

Numărul de participanți


Pret per participant

Mărturii (5)

Cursuri viitoare

Categorii înrudite