Návrh Školení
Den 1 – Správa mediálních zařízení
1. Povolení prohlížeče pomocí navigator.permissions
- Správa hardwaru:
- Webová kamera
- Mikrofon
- Dobrovolná povolení:
- Geolokalizace
- Oznámení
- Schránka (čtení/zápis)
- Zjišťování a stav povolení
- Omezení a kompatibilita prohlížeče
- Praktický příklad použití
2. Čtení mediálních zařízení pomocí navigator.mediaDevices
- Výčet zařízení
- Správa změn zařízení
- Praktický příklad použití
3. Křížová kompatibilita prohlížečů
- Použití API:
- navigator.permissions.query()
- navigator.mediaDevices.enumerateDevices()
- getUserMedia()
- Strategie náhradního zprostředkování pro Safari
- Praktický příklad použití
4. Správa mediálních zařízení
- Inicializace zařízení: getUserMedia(constraints)
- Omezení mediálních zařízení
- Začínání a zastavování mediálních streamů
- Správa změn zařízení
- Praktický příklad použití
5. Nahrávání zařízení pomocí MediaRecorder
- Začínání/zastavování streamu a nahrávání
- Sťahování souboru .webm
- Náhled vlnového tvaru v reálném čase
- Praktický příklad použití
Dodatečné funkce:
- Uložení do formátu .wav pomocí ScriptProcessorNode
- Vizualizace spektra FFT zvuku
- Hlasitost v decibelích
- Rozpoznávání hlasu s webkitSpeechRecognition
Den 2 – Peer Connection
1. Signálky
- Možnosti dvoustranného kanálu:
- WebSocket
- Socket.io
- SignalR
- Struktura zpráv
- Zjednodušený klient WebRTC
- Celkový signální tok
- Praktický příklad použití
2. Videohovory prostřednictvím WebRTC
- Akustika: Node.js + ws
- Klient WebRTC: RTCPeerConnection
- Místní testování E2E
- Praktický příklad použití
Dodatečné funkce:
- Zavěšení hovoru (zavření spojení, zastavení média)
- Skupinové volání (místnosti pro více uživatelů)
- Jednoduchá autentizace na základě tokenů
3. Sdílení obrazovky
- Použití getDisplayMedia()
- Akustika a možnosti
- Praktický příklad použití
4. Protokol popisu relace (SDP)
- Vstup do tématy a obsah
- Ctení a interpretování SDP
- Kódy:
- Zvuk & Video
- Negotiation and control
- Strategie náhradního zprostředkování
- Praktický příklad použití
5. WebRTC Statistics s getStats()
- Druhy statistik
- Jak interpretovat statistiky
- Náhledy na bitovou rychlost a jitter v reálném čase
- Strategie dynamické adaptace kvality
- Praktický příklad použití
Požadavky
Reference (5)
Líbilo se mi, jak Gunnar psal skoro celý kód za chodu, když jsme to procházeli, ale že na disku Google bylo spousta předem připraveného materiálu, na který se mohu po školení odvolat. Kód, který Gunnar napsal na základě ukázkových dat, které jsem předem poskytl, byl také extrémně užitečný a také učinil školení relevantní pro naše vlastní datové sady.
Ranvir - Schroders Personal Wealth
Kurz - Visual Studio Code
Machine Translated
Topics that were discussed, lots of live code examples, trainers attitude towards group
Weronika - ATOS PGS sp. z o.o.
Kurz - Reactive Programming with Angular RxJS
Though an online training, the interactivity with the trainer was remarkable and was always available to provide valuable sources to complement the training. I am very satisfied.
Nuno Marques - MULTICERT, S.A.
Kurz - Functional Reactive Programming with Java 9 and RxJava
Trainer's enthusiasm around the subject
Matthew Fowles - AGRO Merchants Whitchurch Limited
Kurz - Web Application Development in PHP
Pacing, depth, and explanations were all superb. It's clear Scott is an expert on the subject and learning from him was super enjoyable.