Schulungsübersicht
Tag 1 – Umgang mit Mediengeräten
1. Browser-Berechtigungen mit navigator.permissions
- Accessing Hardware:
- Webcam
- Mikrofon
- Optionale Berechtigungen:
- Geolocation
- Benachrichtigungen
- Zwischenablage (Lesen/Schreiben)
- Berechtigungsauswertung und -status
- Einschränkungen und Browserkompatibilität
- Händische Anwendungsfälle
2. Lesen von Mediengeräten mit navigator.mediaDevices
- Gerätenumerierung
- Umgang mit Geräteänderungen
- Händische Anwendungsfälle
3. Kreuzbrowserkompatibilität
- API-Nutzung:
- navigator.permissions.query()
- navigator.mediaDevices.enumerateDevices()
- getUserMedia()
- Safari-Fallbackstrategie
- Händische Anwendungsfälle
4. Umgang mit Mediengeräten
- Gerätinitialisierung: getUserMedia(constraints)
- Mediengerätebeschränkungen
- Starten und Beenden von Mediendateistreams
- Umgang mit Geräteänderungen
- Händische Anwendungsfälle
5. Aufzeichnung von Geräten mit MediaRecorder
- Starten/Beenden des Streaming und der Aufnahme
- Herunterladen der .webm-Datei
- Echtzeit-Waveform-Vorschau
- Händische Anwendungsfälle
Optionale Erweiterungen:
- Speichern im .wav-Format mit ScriptProcessorNode
- Audiospektrumanalyse (FFT)
- Lautstärkemeter in Dezibel
- Stimmenkennung mit webkitSpeechRecognition
Tag 2 – Peer-Connection
1. Signaling-Servers
- Bidirektionale Kanalloptionen:
- WebSocket
- Socket.io
- SignalR
- Nachrichtenstruktur
- Einfacher WebRTC Client
- Vollständiger Signaling-Fluss
- Händische Anwendungsfälle
2. Videochat über WebRTC
- Aufbau: Node.js + ws
- WebRTC-Client: RTCPeerConnection
- Lokale E2E-Tests
- Händische Anwendungsfälle
Optionale Funktionen:
- Anruf beenden (Verbindung schließen, Mediendatei stoppen)
- Gruppenanrufe (Mehrbenutzerzimmer)
- Token-basierte einfache Authentifizierung
3. Bildschirmfreigabe
- Nutzung von getDisplayMedia()
- Aufbau und Optionen
- Händische Anwendungsfälle
4. Sitzungsbeschreibungsprotokoll (SDP)
- Einführung und Inhalte
- Lesen und Interpretieren von SDP
- Kodecs:
- Audio & Video
- Negotiation und Kontrolle
- Fallbackstrategien
- Händische Anwendungsfälle
5. WebRTC Statistics mit getStats()
- Arten von Statistiken
- Interpretation der Statistiken
- Echtzeit-Bitrate/Jitter-Diagramme
- Anpassungsstrategien zur Qualitätssicherung
- Händische Anwendungsfälle
Voraussetzungen
Erfahrungsberichte (5)
Ich fand es gut, dass Gunnar so gut wie den gesamten Code spontan geschrieben hat, während wir ihn durchgingen, aber dass es viel vorbereitetes Material auf Google Drive gab, auf das ich nach der Schulung zurückgreifen konnte. Der Code, den Gunnar auf der Grundlage der Beispieldaten geschrieben hat, die ich vorher zur Verfügung gestellt hatte, war ebenfalls sehr nützlich und machte die Schulung auch für unsere eigenen Datensätze relevant.
Ranvir - Schroders Personal Wealth
Kurs - Visual Studio Code
Maschinelle Übersetzung
Themen, die besprochen wurden, viele Live-Code-Beispiele, Haltung des Trainers zur Gruppe
Weronika - ATOS PGS sp. z o.o.
Kurs - Reactive Programming with Angular RxJS
Maschinelle Übersetzung
Obwohl es sich um eine Online-Ausbildung handelte, war die Interaktion mit dem Trainer bemerkenswert und er war immer verfügbar, um wertvolle Quellen zur Ergänzung der Ausbildung bereitzustellen. Ich bin sehr zufrieden.
Nuno Marques - MULTICERT, S.A.
Kurs - Functional Reactive Programming with Java 9 and RxJava
Maschinelle Übersetzung
Begeisterung des Trainers für das Thema
Matthew Fowles - AGRO Merchants Whitchurch Limited
Kurs - Web Application Development in PHP
Maschinelle Übersetzung
Die Geschwindigkeit, Tiefe und Erklärungen waren allesamt hervorragend. Es ist offensichtlich, dass Scott ein Experte auf dem Gebiet ist, und von ihm zu lernen war extrem angenehm.
Ben Leiken - SurveyMonkey
Kurs - Reactive Programming for iOS with RxSwift
Maschinelle Übersetzung