Struttura del corso
Giorno 1 – Gestione Dispositivi Multimediali
1. Permessi del Browser con navigator.permissions
- Accesso alle periferiche:
- Webcam
- Microfono
- Permessi facoltativi:
- Geolocalizzazione
- Notifiche
- Clipboard (lettura/scrittura)
- Query e stato dei permessi
- Limitazioni e compatibilità con i browser
- Caso pratico a mani sporche
2. Lettura Dispositivi Multimediali con navigator.mediaDevices
- Elencazione dei dispositivi
- Gestione delle variazioni dei dispositivi
- Caso pratico a mani sporche
3. Compatibilità Cross-Browser
- Utilizzo dell'API:
- navigator.permissions.query()
- navigator.mediaDevices.enumerateDevices()
- getUserMedia()
- Strategia di fallback per Safari
- Caso pratico a mani sporche
4. Gestione Dispositivi Multimediali
- Inizializzazione del dispositivo: getUserMedia(constraints)
- Constrain dei dispositivi multimediali
- Inizio e stop degli stream multimediali
- Gestione delle variazioni dei dispositivi
- Caso pratico a mani sporche
5. Registrazione Dispositivi con MediaRecorder
- Inizio/stop dello streaming e registrazione
- Download del file .webm
- Anteprima della forma d'onda in tempo reale
- Caso pratico a mani sporche
Add-ons Facoltativi:
- Salvataggio in formato .wav utilizzando ScriptProcessorNode
- Visualizzazione dello spettro FFT audio
- Barra del volume in decibel
- Riconoscimento vocale con webkitSpeechRecognition
Giorno 2 – Connessione Peer-to-Peer
1. Server di Segnalazione
- Opzioni per canali bidirezionali:
- WebSocket
- Socket.io
- SignalR
- Struttura dei messaggi
- Client WebRTC semplificato
- Flusso completo di segnalazione
- Caso pratico a mani sporche
2. Chat Video tramite WebRTC
- Architettura: Node.js + ws
- Client WebRTC: RTCPeerConnection
- Test locale E2E
- Caso pratico a mani sporche
Funzionalità Facoltative:
- Chiusura della chiamata (chiusura connessione, stop media)
- Chiamate di gruppo (stanze multi-utente)
- Autenticazione semplice basata su token
3. Condivisione dello Schermo
- Utilizzo di getDisplayMedia()
- Architettura e opzioni
- Caso pratico a mani sporche
4. Protocollo Session Description (SDP)
- Introduzione e contenuti
- Lettura e interpretazione di SDP
- Codec:
- Audio & Video
- Negoziazione e controllo
- Strategie di fallback
- Caso pratico a mani sporche
5. Statistiche WebRTC con getStats()
- Tipi di statistiche
- Come interpretare le statistiche
- Grafici live del bitrate/jitter
- Strategie di adattamento della qualità
- Caso pratico a mani sporche
Requisiti
Recensioni (5)
Mi è piaciuto il modo in cui Gunnar ha scritto praticamente tutto il codice al volo mentre stavamo procedendo, ma che c'era un sacco di materiale pre-preparato su Google Drive a cui posso fare riferimento dopo l'addestramento. Anche il codice che Gunnar ha scritto sulla base dei dati di esempio che ho fornito in precedenza è stato estremamente utile e ha reso l'addestramento rilevante per i nostri set di dati.
Ranvir - Schroders Personal Wealth
Corso - Visual Studio Code
Traduzione automatica
Molteplici esempi per ogni modulo e grande conoscenza del formatore.
Sebastian - BRD
Corso - Secure Developer Java (Inc OWASP)
Traduzione automatica
Module3 Applicazioni Attacchi ed Exploit, XSS, SQL injection Attacchi ed exploit ai server Module4, DOS, BOF
Tshifhiwa - Vodacom
Corso - How to Write Secure Code
Traduzione automatica
Real-life examples.
Kristoffer Opdahl - Buypass AS
Corso - Web Security with the OWASP Testing Framework
The trainer's subject knowledge was excellent, and the way the sessions were set out so that the audience could follow along with the demonstrations really helped to cement that knowledge, compared to just sitting and listening.