Kurzusleírás
Day 1 – Media Devices Handling
1. Browser Permissions with navigator.permissions
- Accessing hardware:
- Webcam
- Microphone
- Optional permissions:
- Geolocation
- Notifications
- Clipboard (read/write)
- Permission querying and status
- Limitations and browser compatibility
- Hands-on use-case
2. Reading Media Devices with navigator.mediaDevices
- Device enumeration
- Handling device changes
- Hands-on use-case
3. Cross-browser Compatibility
- API usage:
- navigator.permissions.query()
- navigator.mediaDevices.enumerateDevices()
- getUserMedia()
- Safari fallback strategy
- Hands-on use-case
4. Media Device Handling
- Device initialization: getUserMedia(constraints)
- Media device constraints
- Starting and stopping media streams
- Handling device changes
- Hands-on use-case
5. Recording Devices with MediaRecorder
- Start/stop streaming and recording
- Download .webm file
- Real-time waveform preview
- Hands-on use-case
Optional Add-ons:
- Save in .wav format using ScriptProcessorNode
- Audio FFT spectrum visualization
- Volume bar in decibels
- Voice recognition with webkitSpeechRecognition
Day 2 – Peer Connection
1. Signaling Servers
- Bidirectional channel options:
- WebSocket
- Socket.io
- SignalR
- Message structure
- Simplified WebRTC client
- Full signaling flow
- Hands-on use-case
2. Video Chat via WebRTC
- Architecture: Node.js + ws
- WebRTC client: RTCPeerConnection
- Local E2E testing
- Hands-on use-case
Optional Features:
- Call hang-up (close connection, stop media)
- Group calling (multi-user rooms)
- Token-based simple authentication
3. Screen Sharing
- Use of getDisplayMedia()
- Architecture and options
- Hands-on use-case
4. Session Description Protocol (SDP)
- Introduction and contents
- Reading and interpreting SDP
- Codecs:
- Audio & Video
- Negotiation and control
- Fallback strategies
- Hands-on use-case
5. WebRTC Statistics with getStats()
- Types of statistics
- How to interpret stats
- Live bitrate/jitter charts
- Quality adaptation strategies
- Hands-on use-case
Követelmények
Vélemények (5)
Tetszett, ahogy Gunnar nagyjából az összes kódot leírta menet közben, de rengeteg előre elkészített anyag volt a google drive-on, amire a képzés után hivatkozhatok. A Gunnar általam korábban megadott mintaadatok alapján írt kód is rendkívül hasznos volt, és a képzést saját adatkészleteinkre is relevánssá tette.
Ranvir - Schroders Personal Wealth
Kurzus - Visual Studio Code
Gépi fordítás
A tárgyak, amelyekről beszéltünk, számos élő kódpélda és az oktató hozzáállása a csoporthoz.
Weronika - ATOS PGS sp. z o.o.
Kurzus - Reactive Programming with Angular RxJS
Gépi fordítás
Though it was an online training, the interactivity with the trainer was exceptional and he was always available to provide valuable sources to complement the training. I am very satisfied.
Nuno Marques - MULTICERT, S.A.
Kurzus - Functional Reactive Programming with Java 9 and RxJava
Gépi fordítás
Tanár lelkesedése a tárgyhoz
Matthew Fowles - AGRO Merchants Whitchurch Limited
Kurzus - Web Application Development in PHP
Gépi fordítás
A tempó, a mélység és a magyarázatok mind kiválóak voltak. Scott szakértő a tárgyban, és tőle tanulni rendkívüli élmény volt.
Ben Leiken - SurveyMonkey
Kurzus - Reactive Programming for iOS with RxSwift
Gépi fordítás