WebRTC Schulung
Dieses zweitägige WebRTC Training bietet eine praktische, schrittweise Einführung in die Welt der Echtzeit-Kommunikation basierend auf Browsern. Beginnend mit den Grundlagen des Zugangs zu Mediengeräten lernen die Teilnehmer, wie sie Kameranutzung, Mikrofone und Berechtigungen sicher und effektiv über verschiedene Browser hinweg verwalten können. Während des Trainings tauchen sie in grundlegende WebRTC Konzepte ein, wie Peer-to-Peer-Videotelefonie, Signaling und Sitzungsverhandlungen ein, indem sie mit Werkzeugen wie WebSocket und RTCPeerConnection funktionierende Lösungen erstellen. Dabei leiten praktische Anwendungsfälle die Teilnehmer durch Aufnahmen, Bildschirmfreigabe und Echtzeit-Audio/Video-Analysen. Am Ende verstehen die Teilnehmenden, wie sie WebRTC-basierte Anwendungen architektonisch gestalten und implementieren können, die sowohl robust als auch für den Produktionsbetrieb geeignet sind.
- Erhalten Sie praktische Erfahrungen mit der Handhabung von Mediengeräten, Browser-Berechtigungen und Cross-Browser-Kompatibilität mit navigator.mediaDevices und getUserMedia.
- Lernen Sie, Peer-to-Peer-Videokommunikationssysteme mit WebRTC und Signaling-Protokollen wie WebSocket und Socket.IO zu erstellen.
- Implementieren Sie Medienströmaufnahmen, Wellenformvorschauen, Bildschirmfreigabe und Echtzeit-Audio/Video-Statistikverfolgung.
- Erforschen Sie fortgeschrittene Themen wie SDP-Negotiation, Codec-Wahl, Live-Bitrate-Monitoring und dynamische Qualitätsoptimierung.
- Ideal für Entwickler, die moderne, browserbasierte Kommunikationsfunktionen in realen Anwendungen integrieren möchten.
Tag 1 – Handhabung von Mediengeräten
1. Browser-Berechtigungen mit navigator.permissions
- Accessing Hardware:
- Webcam
- Mikrofon
- Optionale Berechtigungen:
- Geolokalisation
- Benachrichtigungen
- Zwischenablage (Lesen/Schreiben)
- Abrufen und Status von Berechtigungen
- Einschränkungen und Browser-Kompatibilität
- Praktische Anwendungsfälle
2. Lesen von Mediengeräten mit navigator.mediaDevices
- Gerätenumerierung
- Handhabung von Geräteänderungen
- Praktische Anwendungsfälle
3. Cross-Browser-Kompatibilität
- API-Nutzung:
- navigator.permissions.query()
- navigator.mediaDevices.enumerateDevices()
- getUserMedia()
- Safari-Fallback-Strategie
- Praktische Anwendungsfälle
4. Handhabung von Mediengeräten
- Gerätinitialisierung: getUserMedia(constraints)
- Mediengeräte-Beschränkungen
- Anfang und Beendigung von Mediastreams
- Handhabung von Geräteänderungen
- Praktische Anwendungsfälle
5. Aufnahmen mit MediaRecorder
- Anfang/Beendigung des Streaming und Aufnahme
- Download der .webm-Datei
- Echtzeit-Wellenformvorschau
- Praktische Anwendungsfälle
Optionale Erweiterungen:
- Speichern in .wav-Format mit ScriptProcessorNode
- Audiospektrumvisualisierung (FFT)
- Lautstärkemeter in Dezibel
- Stimmenerkennung mit webkitSpeechRecognition
Tag 2 – Peer-Verbindung
1. Signaling-Servers
- Bidirektionale Kanalloptionen:
- WebSocket
- Socket.io
- SignalR
- Nachrichtenstruktur
- Einfacher WebRTC Client
- Vollständiger Signaling-Fluss
- Praktische Anwendungsfälle
2. Videochat über WebRTC
- Aufbau: Node.js + ws
- WebRTC-Client: RTCPeerConnection
- Lokale E2E-Tests
- Praktische Anwendungsfälle
Optionale Funktionen:
- Ruf beenden (Verbindung schließen, Mediastream stoppen)
- Gruppenanrufe (Multi-User-Räume)
- Token-basierte einfache Authentifizierung
3. Bildschirmfreigabe
- Nutzung von getDisplayMedia()
- Aufbau und Optionen
- Praktische Anwendungsfälle
4. Sitzungsbeschreibungsprotokoll (SDP)
- Einführung und Inhalte
- Abrufen und Interpretieren von SDP
- Kodecs:
- Audio & Video
- Negotiation und Kontrolle
- Fallback-Strategien
- Praktische Anwendungsfälle
5. WebRTC Statistics mit getStats()
- Arten von Statistiken
- Interpretation der Statistiken
- Echtzeit-Bitrate/Jitter-Diagramme
- Strategien zur Qualitätsoptimierung
- Praktische Anwendungsfälle
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
Offene Schulungskurse erfordern mindestens 5 Teilnehmer.
WebRTC Schulung - Booking
WebRTC Schulung - Enquiry
WebRTC - Beratungsanfrage
Beratungsanfrage
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
Kommende Kurse
Kombinierte Kurse
Reactive Programming with Angular RxJS
14 StundenDie Reactive Programmierung ist ein asynchrones Programmierparadigma, das sich auf Datenströme und die Weitergabe von Daten konzentriert, indem eine definierte Abhängigkeit zwischen den zugrunde liegenden Ausführungsmodellen und den von einer Komponente zur anderen ausgegebenen Datenströmen hergestellt wird. Viele Angular Ineffizienzen im Anwendungsdesign bei der Erstellung asynchroner Benutzeroberflächen können durch die Verwendung von reaktiven Stilmustern, die von der RxJS Bibliothek angeboten werden, überwunden werden.
In dieser von einem Trainer geleiteten Live-Schulung lernen die Teilnehmer, wie sie Observable-Muster in ihre Angular-Anwendungsdesigns implementieren können, während sie eine Reihe von Fallbeispielen durchlaufen, die häufige Angular-Designprobleme aufzeigen und zeigen, wie sie von reaktiven Programmierungsdesigns profitieren.
Am Ende dieser Schulung werden die Teilnehmer in der Lage sein:
- Das reaktive Programmierparadigma und die RxJS-Bibliothek zu verstehen.
- UI-lastige Angular-Anwendungen mit Blick auf Skalierbarkeit, Flexibilität und Reaktionsfähigkeit unter Verwendung reaktiver Programmiermuster zu erstellen.
Format des Kurses
- Interaktive Vorlesung und Diskussion.
- Viele Übungen und Praxis.
- Praktische Umsetzung in einer Live-Laborumgebung.
Optionen zur Kursanpassung
- Wenn Sie eine maßgeschneiderte Schulung für diesen Kurs wünschen, nehmen Sie bitte Kontakt mit uns auf, um dies zu vereinbaren.
Full-Stack Development with AWS Cloud9
35 StundenDiese von einem Ausbilder geleitete Live-Schulung in Österreich (online oder vor Ort) richtet sich an mittlere bis fortgeschrittene Full-Stack-Entwickler, die AWS Cloud9 nutzen möchten, um ihre Entwicklungsabläufe zu optimieren.
Am Ende dieser Schulung werden die Teilnehmer in der Lage sein,:
- Einrichten und Konfigurieren von AWS Cloud9 für die Full-Stack-Entwicklung.
- Front-End-Anwendungen mit Cloud9 entwickeln und debuggen.
- Back-End-Services mit AWS Cloud9 erstellen und bereitstellen.
- Integration von Cloud9 mit AWS-Services für erweiterte Bereitstellungen.
- Mit Teammitgliedern in einer Cloud-basierten Entwicklungsumgebung zusammenarbeiten.
Full-Stack Development with React, TypeScript, Next.js, and Modern Backend
28 StundenDieser von einem Trainer geleitete Live-Kurs in Österreich (online oder vor Ort) richtet sich an fortgeschrittene Entwickler, die Full-Stack-Anwendungen mit React 19, TypeScript, Next.js, Node.js, Prisma, PostgreSQL und verwandten DevOps-Praktiken erstellen möchten.
Am Ende dieses Trainings werden die Teilnehmer in der Lage sein:
- Reaktive und skalierbare Front-End-Anwendungen mit React 19 und TypeScript zu entwickeln.
- Automatisierte Tests mit Jest und React Testing Library zu integrieren.
- RESTful APIs mit Express, JWT und Prisma unter Verwendung von PostgreSQL aufzubauen und zu dokumentieren.
- Anwendungen mit Git und DevOps-Pipelines bereitzustellen.
- Die Rolle von Data Warehouses, Datenseen und der AI-Integration in modernen Web-Ekosystemen zu verstehen.
Functional Reactive Programming with Java 9 and RxJava
14 StundenDieses von einem Lehrer geleitete Live-Training in Österreich (online oder vor Ort) richtet sich an Softwareentwickler und Systemarchitekten auf mittlerem Niveau, die reaktive Anwendungen mit Java 9, Spring, Jersey, Akka und der reaktiven Programmierbibliothek RxJava 2.0 erstellen möchten.
Am Ende dieser Schulung sind die Teilnehmer in der Lage:
- Die Wichtigkeit und Bedeutung von reaktivem Programmieren in der Anwendungs- und Systementwicklung verstehen.
- Unit-Test auf RxJava 2.0 ausführen.
- Das Akka-Framework unter reaktiven Programmierprinzipien einsetzen.
- Spring einsetzen, um die Entwicklung von nebenläufigen Anwendungen zu bewältigen.
- Verwenden Sie die Flow-API von Java 9, um reaktive Apps zu entwickeln.
ELM for Front-End Development
14 StundenDiese Live-Schulung unter der Leitung eines Trainers (vor Ort oder per Fernzugriff) richtet sich an Software-Ingenieure, die ELM für die Front-End-Entwicklung einsetzen möchten.
Am Ende dieser Schulung werden die Teilnehmer in der Lage sein:
- Erstellung von Webanwendungen mit der ELM-Sprache.
- Open-Source-Pakete in ELM verwenden.
- Implementieren Sie ELM-Tools zum Debuggen und Kompilieren von ELM-Code.
RxJava for Android Developers
21 StundenDiese von einem Trainer geleitete Live-Schulung in Österreich (online oder vor Ort) richtet sich an Entwickler, die RxJava zur Entwicklung und Bereitstellung einer Android mobilen Anwendung nutzen möchten.
Am Ende dieser Schulung werden die Teilnehmer in der Lage sein:
- eine Entwicklungsumgebung einzurichten, die die für die Entwicklung einer reaktiven Anwendung erforderlichen Bibliotheken, Pakete und Frameworks enthält.
- Verstehen, wie Daten- und Ereignisströme ausgegeben und konsumiert werden.
- Anwendungen entwerfen, die reale (ereignisbasierte) Situationen auf elegante und prägnante Weise modellieren.
Reactive Programing with Rx.NET
7 StundenIn this instructor-led, live training in Österreich, participants will learn how to develop an asynchronous application using .NET Reactive Extensions.
By the end of this training, participants will be able to:
- Create applications that capture event streams from diverse data sources such as stock quotes, tweets, computer events, and web services.
- Use Observables and Schedulers to represent and manage multiple asynchronous data streams.
- Filter, project, aggregate, compose and perform time-based operations on multiple events using LINQ operators.
Reactive Programming for iOS with RxSwift
7 StundenDiese Live-Schulung in Österreich führt die Teilnehmer in reaktive Techniken ein, die von RxSwift für die Verwaltung der Übertragung und Kombination asynchroner Datenströme, die Handhabung einfacher beobachtbarer Sequenzen und die Architektur und Entwicklung reaktionsfähiger, flexibler und industriell skalierbarer iOS Anwendungen angeboten werden.
Am Ende dieser Schulung werden die Teilnehmer in der Lage sein:
- Die grundlegenden Konzepte der reaktiven Programmierung in Swift 3 zu verstehen.
- Verschiedene Elemente wie Arrays und Ereignisse in beobachtbare Sequenzen umwandeln.
- Verschiedene Filter auf beobachtbare Sequenzen anwenden, beobachtbare Sequenzen transformieren und kombinieren.
- Unit-Tests gegen Rx-Code schreiben.
- Effektive Nutzung von Blinddaten aus Elementen der Benutzeroberfläche.
Visual Studio Code
14 StundenDiese von einem Trainer geleitete Live-Schulung in Österreich (online oder vor Ort) richtet sich an Anfänger und fortgeschrittene Entwickler, die Codes mit VS Code bearbeiten möchten.
Am Ende dieser Schulung werden die Teilnehmer in der Lage sein:
- Sich mit der VS Code-Oberfläche vertraut machen.
- Arbeitsbereiche in VS Code effektiv zu nutzen.
- VS Code-Tastaturkürzel und -Einstellungen zu verwalten.
- Lernen, wie man verschiedene Programmiersprachen in VS Code verwendet.
Web Application Development (Advanced Level)
28 StundenThis instructor-led, live training in Österreich (online or onsite) is aimed at advanced-level web developers who wish to design, build, and deploy complex web applications using advanced tools and practices.
By the end of this training, participants will be able to:
- Design scalable web architectures with advanced front-end and back-end patterns.
- Work with modern frameworks like React, Angular, or Vue.
- Build secure, robust APIs using Node.js, Django, or PHP.
- Use Docker, CI/CD, and cloud-native tools for deployment.
- Explore emerging technologies like PWAs, Serverless, and WebAssembly.
Web Application Development (Basic Level)
28 StundenThis instructor-led, live training in Österreich (online or onsite) is aimed at beginner-level professionals who wish to build functional and interactive websites using foundational web technologies.
By the end of this training, participants will be able to:
- Understand how the web works (client-server architecture, URLs, browsers).
- Create structured web pages using HTML5.
- Style and visually enhance web pages using CSS.
- Add interactivity and logic using JavaScript.
- Manipulate the DOM to respond to user events.
Web Development with Bubble
7 StundenDiese von einem Kursleiter geleitete Live-Schulung in Österreich (online oder vor Ort) richtet sich an Webentwickler, die Bubble nutzen möchten, um voll funktionsfähige Webanwendungen ohne Code zu erstellen.
Am Ende dieser Schulung werden die Teilnehmer in der Lage sein:
- Eine Webanwendung von Grund auf ohne Programmierkenntnisse zu erstellen.
- Datenbanken und Webdienste für Back-End-Operationen zu erstellen.
- Dynamische Benutzeroberflächen und Benutzererfahrungen entwerfen und erstellen.
Entwicklung von Web Applications in PHP
21 StundenDer Kurs richtet sich an fortgeschrittene PHP Entwickler, die ihr Wissen erweitern und Best Practices für Programmier- und Webentwicklungstechniken erlernen möchten, die auf objektorientierten Programmier- und Entwurfsmustern basieren.
Yeoman
7 StundenDiese Live-Schulung in Österreich (online oder vor Ort) richtet sich an Entwickler, die mehr über Yeoman erfahren und verstehen wollen, wie es sich in die Architektur und den Entwicklungsablauf einer Webanwendung einfügt.
Am Ende dieser Schulung werden die Teilnehmer in der Lage sein:
- Die Funktionen und Vorteile des Einsatzes von Yeoman in der Anwendungsentwicklung kennenlernen.
- den Prozess der Erstellung und Verwaltung einer Anwendung mit Yeoman kennen und verstehen.