Contattataci

Struttura del corso

Gestione dei dispositivi multimediali

1. Gestione delle autorizzazioni del browser con navigator.permissions

  • Accesso all’hardware:
    • Webcam
    • Microfono
  • Permessi opzionali:
    • Geolocalizzazione
    • Notifiche
    • Clipboard (lettura/scrittura)
  • Verifica dei permessi e controllo del loro stato
  • Limitazioni e compatibilità tra browser

2. Accesso ai dispositivi multimediali con navigator.mediaDevices

  • Enumerazione dei dispositivi disponibili
  • Gestione delle modifiche apportate ai dispositivi

3. Compatibilità tra browser

  • Utilizzo delle API:
    • navigator.permissions.query()
    • navigator.mediaDevices.enumerateDevices()
    • getUserMedia()
  • Strategie di fallback per Safari

4. Gestione dei dispositivi multimediali

  • Inizializzazione del dispositivo: getUserMedia(constraints)
  • Gestione delle restrizioni imposte ai dispositivi
  • Avvio e arresto dei flussi multimediali
  • Rilevamento dei cambiamenti nei dispositivi utilizzati

5. Registrazione dei dati multimediali con MediaRecorder

  • Avvio e arresto della registrazione dei flussi video/audio
  • Scaricamento del file risultante in formato .webm
  • Visualizzazione in tempo reale dell’onda sonora

Componenti opzionali aggiuntivi:

  • Salvataggio dei dati audio in formato .wav tramite ScriptProcessorNode
  • Visualizzazione dello spettro di frequenze dell’audio
  • Rappresentazione grafica del volume sonoro in decibel
  • Riconoscimento vocale effettuato tramite webkitSpeechRecognition

Connessione Peer-to-Peer

1. Server di segnalazione

  • Opzioni per i canali bidirezionali:
    • WebSocket
    • Socket.io
    • SignalR
  • Struttura dei messaggi scambiati
  • Sviluppo di un client WebRTC semplificato
  • Fluvi completi della segnalazione

2. Chat video tramite WebRTC

  • Architettura implementata: Node.js + ws
  • Implementazione client: RTCPeerConnection
  • Test end-to-end effettuati localmente

Funzionalità opzionali:

  • Chiusura della chiamata (interruzione della connessione e arresto del flusso multimediale)
  • Chat di gruppo (con più utenti nella stessa stanza)
  • Semplice autenticazione basata su token

3. Condivisione dello schermo

  • Utilizzo della funzione getDisplayMedia()
  • Architettura e opzioni disponibili

4. Protocollo di Descrizione delle Sessioni (SDP)

  • Introduzione al protocollo e contenuto dei suoi messaggi
  • Analisi e interpretazione del formato SDP
  • I codec utilizzati:
    • Audio e Video
    • Meccanismi di negoziazione e controllo
    • Strategie di fallback in caso di problemi

5. Statistiche WebRTC tramite getStats()

  • Categorie delle statistiche disponibili
  • Interpretazione corretta dei dati statistici
  • Grafici in tempo reale relativi alla velocità di trasmissione e alle fluttuazioni di segnale
  • Strategie per l’adattamento dinamico della qualità video/audio

6. Tutti i temi trattati sono

  • Esercitazioni pratiche incluse

Requisiti

Questo corso è rivolto a sviluppatori frontend e full-stack, architetti tecnici ed ingegneri che si occupano di implementare funzionalità di comunicazione in tempo reale tramite il browser, come chiamate video, condivisione dello schermo o trasmissione audio. I partecipanti dovrebbero disporre di una buona conoscenza di JavaScript e delle tecnologie web; si ritiene utile, ma non obbligatorio, avere esperienza con Node.js e la comunicazione basata su WebSocket.

 14 ore

Numero di Partecipanti


Prezzo per partecipante

Recensioni (3)

Corsi in Arrivo

Categorie relative