Schița de curs

Ziua 1 – Gestionarea Dispozitivelor Multimedia

1. Permisiuni Browser cu navigator.permissions

  • Acces la dispozitive fizice:
    • Webcam
    • Micron
  • Permisiuni opționale:
    • Geolocare
    • Notificări
    • Clipboard (citire/scriere)
  • Interogarea permisiunilor și statusul lor
  • Limițări și compatibilitatea cu browser-ul
  • Caz de utilizare practic

2. Citirea Dispozitivelor Multimedia cu navigator.mediaDevices

  • Enumerarea dispozitivelor
  • Gestionarea schimbărilor de dispozitive
  • Caz de utilizare practic

3. Compatibilitate Cross-Browser

  • Utilizarea API-urilor:
    • navigator.permissions.query()
    • navigator.mediaDevices.enumerateDevices()
    • getUserMedia()
  • Strategia de fallback pentru Safari
  • Caz de utilizare practic

4. Gestionarea Dispozitivelor Multimedia

  • Inicializarea dispozitivelor: getUserMedia(constraints)
  • Constrângeri pentru dispozitive multimedia
  • Pornirea și oprirea fluxurilor multimedia
  • Gestionarea schimbărilor de dispozitive
  • Caz de utilizare practic

5. Înregistrarea Dispozitivelor cu MediaRecorder

  • Pornirea/oprirea fluxului și a înregistrării
  • Descărcarea fișierului .webm
  • Afișarea vizuală a formei de undă în timp real
  • Caz de utilizare practic

Add-on-uri Opționale:

  • Salvarea în format .wav folosind ScriptProcessorNode
  • Vizualizarea spectrului audio FFT
  • Barem de volum în decibeli
  • Recunoașterea vocală cu webkitSpeechRecognition

Ziua 2 – Conexiune Peer-to-Peer

1. Servere de Semnalizare

  • Opțiuni pentru canale bidirectionale:
    • WebSocket
    • Socket.io
    • SignalR
  • Structura mesajelor
  • Client WebRTC simplificat
  • Flux complet de semnalizare
  • Caz de utilizare practic

2. Chat Video prin WebRTC

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

Caracteristici Opționale:

  • Oprire apel (oprire conexiune, oprirea media)
  • Apel în grup (sală multi-utilizator)
  • Autentificare simplă bazată pe token

3. Împărtășirea Ecranului

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

4. Protocolul Descrierii Sesiunii (SDP)

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

5. Statistici WebRTC cu getStats()

  • Tipuri de statistici
  • Interpretarea statisticilor
  • Grafice live bitrate/jitter
  • Strategii de adaptare la calitate
  • Caz de utilizare practic

 

Cerințe

Acest curs este ideal pentru dezvoltatori frontend și full-stack, arhitecți tehnici și ingineri care construiesc caracteristici de comunicare în timp real bazate pe browser, cum ar fi videochat, împărtășirea ecranului sau streaming audio. Participanții ar trebui să aibă cunoștințe funcționale de JavaScript și tehnologii web, cu experiență opțională în Node.js și comunicarea bazată pe WebSocket.
 14 ore

Numărul de participanți


Pret per participant

Mărturii (5)

Cursuri viitoare

Categorii înrudite