Course Code:
webrtccust
Duration:
14 hours
Prerequisites:
- Each participant should have access to a computer, laptop, or tablet with a keyboard
- Devices should have a webcam and a microphone
- If there are any domain restrictions that block peripheral access, it should be resolved before the course start
- Internet access is required
- Each laptop should have the following installed:
- Visual Studio Code or an equivalent IDE
- Extensions for HTML, CSS, and JavaScript code analysis
- Git Bash or an equivalent terminal
- Node.js – updated to the latest version, or all participants should use the same version
- Access to a TURN and/or STUN server
Overview:
The course will be intensive.
It would be ideal for everyone to have their setup fully prepared in advance.
Course Outline:
Day 1 - Media Devices handling
- Constraints configuration
○ input devices
○ output devices
○ audio properties
○ video properties
○ device surfaces
○ video resolutions (VGA / SD, HD, Full HD, QHD / 2K, UHD / 4K, 8K)
- Device interrogation
○ query list by device type
○ query by device id
○ mis-configuration handling
- Device callbacks
○ Device change events
○ Device settings (exposure time, compensation, brightness, white balance)
○ Display in page / in modal
- Device playback
○ Image capture
○ Image flipping
○ Video play / stop
○ Video recording
○ Video filters (blur, brightness, contrast, gray scale, invert, opacity, saturation, sepia)
Day 2 - Peer connection
- TURN / STUN servers
○ Server architecture
○ Server configurations
○ Proprietary server
- Peer connections
○ Signaling servers
○ SDP generation process (Offer / Answer handshake)
○ Connection callbacks
○ Remote tracks handling
○ Fallback mechanisms
- RTC Data Channels
○ Signaling architecture
○ Channel configuration
○ Functionality and Features
○ Use-cases
○ Advantages and benefits