Návrh Školení
Den 1 – Správa multimediálních zařízení
1. Povolení prohlížeče pomocí navigator.permissions
- Správa hardwaru:
- Webová kamera
- Mikrofon
- Dodatečná povolení:
- Geolokace
- 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í multimediálních zařízení pomocí navigator.mediaDevices
- Výčet zařízení
- Správa změn zařízení
- Praktický příklad použití
3. Kompatibilita mezi prohlížeči
- Použití API:
- navigator.permissions.query()
- navigator.mediaDevices.enumerateDevices()
- getUserMedia()
- Taktika náhradního řešení pro Safari
- Praktický příklad použití
4. Správa multimediálních zařízení
- Inicializace zařízení: getUserMedia(constraints)
- Omezení multimediálních zařízení
- Začínání a zastavování mediálních proudů
- 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í
- Stahování souboru .webm
- Přednástrčka v reálném čase
- Praktický příklad použití
Dodatečné doplňky:
- 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ální servery
- Možnosti dvoustranného kanálu:
- WebSocket
- Socket.io
- SignalR
- Struktura zpráv
- Zjednodušený klient WebRTC
- Celkový signální průběh
- Praktický příklad použití
2. Video chat prostřednictvím WebRTC
- Akceptance: Node.js + ws
- Klient WebRTC: RTCPeerConnection
- Lokální 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ě tokenu
3. Sdílení obrazovky
- Použití getDisplayMedia()
- Akceptance a možnosti
- Praktický příklad použití
4. Protokol popisu relace (SDP)
- Vstup a obsahy
- Ctení a interpretování SDP
- Kódy:
- Zvuk & Video
- Negotiation and control
- Taktiky náhradního řešení
- Praktický příklad použití
5. WebRTC Statistics s getStats()
- Typy statistik
- Jak interpretovat statistiky
- Živé grafy bitrate/jitteru
- Taktiky 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.