Schița de curs

Gestionarea Dispozitivelor Media

1. Permisiuni Browser cu navigator.permissions

  • Accesarea hardware:
    • Webcam
    • Microfon
  • Permisiuni opționale:
    • Geolocalizare
    • Notificări
    • Clipboard (citire/scriere)
  • Interogarea și starea permisiunilor
  • Limitări și compatibilitate între browsere

2. Citirea Dispozitivelor Media cu navigator.mediaDevices

  • Enumerarea dispozitivelor
  • Gestionarea schimbărilor de dispozitive

3. Compatibilitate între Browsere

  • Utilizarea API-urilor:
    • navigator.permissions.query()
    • navigator.mediaDevices.enumerateDevices()
    • getUserMedia()
  • Strategie de rezervă pentru Safari

4. Gestionarea Dispozitivelor Media

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

5. Înregistrarea Dispozitivelor cu MediaRecorder

  • Pornirea/oprirea stream-urilor și înregistrării
  • Descărcarea fișierului .webm
  • Previzualizare în timp real a undelor

Adăugiri Opționale:

  • Salvare în format .wav folosind ScriptProcessorNode
  • Vizualizare spectru FFT audio
  • Bară de volum în decibeli
  • Recunoaștere vocală cu webkitSpeechRecognition

Conexiune Peer

1. Servere de Semnalizare

  • Opțiuni de canale bidirecționale:
    • WebSocket
    • Socket.io
    • SignalR
  • Structura mesajelor
  • Client WebRTC simplificat
  • Flux complet de semnalizare

2. Chat Video prin WebRTC

  • Arhitectură: Node.js + ws
  • Client WebRTC: RTCPeerConnection
  • Testare locală E2E

Funcții Opționale:

  • Închiderea apelului (închidere conexiune, oprire media)
  • Apeluri de grup (camere multi-utilizator)
  • Autentificare simplă bazată pe token

3. Partajare de Ecran

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

4. Protocolul de Descriere a Sesiunii (SDP)

  • Introducere și conținut
  • Citirea și interpretarea SDP
  • Codecuri:
    • Audio & Video
    • Negociere și control
    • Strategii de rezervă

5. Statistici WebRTC cu getStats()

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

6. Toate subiectele sunt

  • Cazuri practice

Cerințe

Acest curs este ideal pentru dezvoltatorii frontend și full-stack, arhitecți tehnici și ingineri care construiesc funcții de comunicare în timp real bazate pe browser, cum ar fi chat video, partajare de ecran sau streaming audio. Participanții ar trebui să aibă cunoștințe de bază despre JavaScript și tehnologii web, cu experiență opțională în Node.js și comunicare bazată pe WebSocket.

 14 Ore

Numărul de participanți


Pret per participant

Mărturii (5)

Cursuri viitoare

Categorii înrudite