Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
Course Outline
Media Devices Handling
1. Browser Permissions with navigator.permissions
- Accessing hardware:
- Webcam
- Microphone
- Optional permissions:
- Geolocation
- Notifications
- Clipboard (read/write)
- Permission querying and status checks
- Limitations and browser compatibility considerations
2. Reading Media Devices with navigator.mediaDevices
- Device enumeration techniques
- Managing device change events
3. Cross-browser Compatibility
- API implementation:
- navigator.permissions.query()
- navigator.mediaDevices.enumerateDevices()
- getUserMedia()
- Strategies for Safari fallback
4. Media Device Handling
- Device initialization via getUserMedia(constraints)
- Configuring media device constraints
- Starting and stopping media streams
- Handling dynamic device changes
5. Recording Devices with MediaRecorder
- Controlling streaming and recording states
- Downloading .webm files
- Real-time waveform visualization
Optional Add-ons:
- Saving in .wav format using ScriptProcessorNode
- Audio FFT spectrum visualization
- Volume level monitoring in decibels
- Voice recognition integration with webkitSpeechRecognition
Peer Connection
1. Signaling Servers
- Bidirectional channel options:
- WebSocket
- Socket.io
- SignalR
- Message structure definition
- Simplified WebRTC client setup
- Complete signaling flow implementation
2. Video Chat via WebRTC
- Architecture: Node.js + ws
- WebRTC client implementation using RTCPeerConnection
- Local end-to-end testing procedures
Optional Features:
- Call termination (closing connections and stopping media)
- Group calling capabilities (multi-user rooms)
- Token-based authentication mechanisms
3. Screen Sharing
- Utilizing getDisplayMedia()
- Architectural design and available options
4. Session Description Protocol (SDP)
- Introduction and core contents
- Reading and interpreting SDP data
- Codec management:
- Audio & Video codecs
- Negotiation and control processes
- Fallback strategies
5. WebRTC Statistics with getStats()
- Statistical data types
- Interpreting statistical outputs
- Live bitrate and jitter visualization
- Strategies for quality adaptation
6. All of the topic are
- Hands-on use-case
Requirements
This course is designed for frontend and full-stack developers, technical architects, and engineers creating browser-based real-time communication features such as video chat, screen sharing, or audio streaming. Participants should possess a solid working knowledge of JavaScript and web technologies, with prior experience in Node.js and WebSocket-based communication being beneficial but not mandatory.
14 Hours
Testimonials (1)
That every technical lesson came with multiple practical exercises to nail down the concepts.