Schița de curs

Ziua 1 – Manipularea Dispozitivelor Media

1. Permisiunile Browserului cu navigator.permissions

  • Accessare hardware:
    • Webcam
    • Microfon
  • Permisiuni opționale:
    • Geolocalizare
    • Notificări
    • Clipboard (citire/scriere)
  • Interogarea și starea permisiunilor
  • Limitațiile și compatibilitatea cu browserul
  • Cazuri de utilizare practică

2. Citirea Dispozitivelor Media cu navigator.mediaDevices

  • Enumerația dispozitivelor
  • Gestionarea schimbărilor de dispozitive
  • Cazuri de utilizare practică

3. Compatibilitate Inter-browser

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

4. Manipularea Dispozitivelor Media

  • Ințelegerea dispozitivului: getUserMedia(constraints)
  • Constrângeri ale dispozitelor media
  • Pornirea și oprirea fluxurilor de medii
  • Gestionarea schimbărilor de dispozitive
  • Cazuri de utilizare practică

5. Înregistrarea Dispozitelor cu MediaRecorder

  • Pornire/Oprire a streaming-ului și înregistrării
  • Descărcarea fișierului .webm
  • Vizualizare în timp real a formei de undă
  • Cazuri de utilizare practică

Adăugiri Opționale:

  • Salvarea în format .wav folosind ScriptProcessorNode
  • Vizualizarea spectrului FFT al sunetului
  • Bare de volum în decibeli
  • Reconoscerea vocală cu webkitSpeechRecognition

Ziua 2 – Conexiunea Peer

1. Servere de Semnalizare

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

2. Chat Video prin WebRTC

  • Arhitectură: Node.js + ws
  • Client WebRTC: RTCPeerConnection
  • Testare E2E locală
  • Cazuri de utilizare practică

Funcții Opționale:

  • Închiderea apelului (închiderea conexiunii, oprirea mediilor)
  • Apele grupale (camere multiutilizator)
  • Autentificare simplă bazată pe token

3. Compartimentarea Ecranului

  • Folosirea getDisplayMedia()
  • Arhitectură și opțiuni
  • Cazuri de utilizare practică

4. Protocolul de Descriere a Sesiunii (SDP)

  • Introducere și conținut
  • Citirea și interpretarea SDP
  • Codificări:
    • Audio & Video
    • Negocierea și controlul
    • Strategii de rezervă
  • Cazuri de utilizare practică

5. WebRTC Statistics cu getStats()

  • Tipurile de statistici
  • Modul de interpretare a statisticilor
  • Grafice live pentru bitrate/jitter
  • Strategii de adaptare a calității
  • Cazuri de utilizare practică

 

Cerințe

Acest curs este ideal pentru dezvoltatori frontend și full-stack, arhitecți tehnici și ingineri care construiesc funcționalități de comunicare în timp real bazate pe browser, cum ar fi chat video, împărțire ecran sau streaming audio. Participanții ar trebui să aibă cunoștințe practice cu 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)

Upcoming Courses

Categorii înrudite