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 Device 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
2. Reading Media Devices with navigator.mediaDevices
- Device enumeration
- Handling device changes
3. Cross-browser Compatibility
- API usage:
- navigator.permissions.query()
- navigator.mediaDevices.enumerateDevices()
- getUserMedia()
- Safari fallback strategy
4. Media Device Handling
- Device initialization: getUserMedia(constraints)
- Media device constraints
- Starting and stopping media streams
- Handling device changes
5. Recording Devices with MediaRecorder
- Start/stop streaming and recording
- Download .webm file
- Real-time waveform preview
Optional Add-ons:
- Save in .wav format using ScriptProcessorNode
- Audio FFT spectrum visualisation
- Volume bar in decibels
- Voice recognition with webkitSpeechRecognition
Peer Connection
1. Signalling Servers
- Bidirectional channel options:
- WebSocket
- Socket.io
- SignalR
- Message structure
- Simplified WebRTC client
- Full signalling flow
2. Video Chat via WebRTC
- Architecture: Node.js + ws
- WebRTC client: RTCPeerConnection
- Local E2E testing
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
4. Session Description Protocol (SDP)
- Introduction and contents
- Reading and interpreting SDP
- Codecs:
- Audio & Video
- Negotiation and control
- Fallback strategies
5. WebRTC Statistics with getStats()
- Types of statistics
- How to interpret stats
- Live bitrate/jitter charts
- Quality adaptation strategies
6. All of the topics are
- Hands-on use-case
Requirements
This course is ideally suited for frontend and full-stack developers, technical architects, and engineers developing browser-based real-time communication features such as video chat, screen sharing, or audio streaming. Participants should possess a working knowledge of JavaScript and web technologies, with optional experience in Node.js and WebSocket-based communication.
14 Hours
Testimonials (1)
That every technical lesson came with multiple practical exercises to nail down the concepts.