Course Outline
Media Device Management
Browser Permissions using navigator.permissions
- Hardware Access:
- Webcam
- Microphone
- Optional Permissions:
- Geolocation
- Notifications
- Clipboard (read/write)
- Permission queries and status checks
- Limitations and browser compatibility considerations
Accessing Media Devices via navigator.mediaDevices
- Device enumeration
- Managing device changes
Cross-Browser Compatibility
- API Usage:
- navigator.permissions.query()
- navigator.mediaDevices.enumerateDevices()
- getUserMedia()
- Safari fallback strategies
Media Device Operations
- Device initialization: getUserMedia(constraints)
- Media device constraints
- Managing media stream start and stop actions
- Handling device changes
Recording with MediaRecorder
- Starting and stopping streams and recordings
- Downloading .webm files
- Real-time waveform preview
Optional Enhancements:
- Saving audio in .wav format using ScriptProcessorNode
- Audio FFT spectrum visualization
- Volume bar display in decibels
- Voice recognition via webkitSpeechRecognition
Peer Connection
Signaling Servers
- Bidirectional channel options:
- WebSocket
- Socket.io
- SignalR
- Message structure
- Simplified WebRTC client implementation
- Complete signaling flow
Video Chat using WebRTC
- Architecture: Node.js + ws
- WebRTC client: RTCPeerConnection
- Local End-to-End (E2E) testing
Optional Features:
- Call termination (closing connection, stopping media)
- Group calling (multi-user rooms)
- Token-based simple authentication
Screen Sharing
- Utilizing getDisplayMedia()
- Architecture and options
Session Description Protocol (SDP)
- Introduction and components
- Reading and interpreting SDP
- Codecs:
- Audio & Video
- Negotiation and control
- Fallback strategies
WebRTC Statistics via getStats()
- Types of statistics
- Interpreting statistical data
- Live bitrate/jitter charts
- Quality adaptation strategies
Comprehensive Coverage of All Topics
- Hands-on use-case implementation
Requirements
This program is tailored for frontend and full-stack developers, technical architects, and engineers focused on building browser-based real-time communication features such as video chat, screen sharing, or audio streaming. Participants are expected to have a solid grasp of JavaScript and web technologies, with prior experience in Node.js and WebSocket-based communication serving as a beneficial advantage.
Testimonials (3)
The training helped me expand my knowledge and understanding of Burp Suite. I also realized that what I had learned through self-study was still quite limited. This training was very helpful to me as a QA because Burp Suite is a valuable tool for performing security testing and improving the overall quality of application testing. I will continue exploring this tool and learning more about its features and capabilities.
Rea Mendez - BAKAWAN Data Anallytics Inc.
Course - OWASP Top 10 2025
I really enjoyed learning about AI attacks and the tools out there to begin practicing and actively using for security testing. I took a lot of knowledge away which I didn't have at the beginning and the course met what I hoped it would be. My favorite part shown from the training was Comet Browser and was amazed at what it could do. Definitely something will be looking into more. Overall it was a great course and enjoyed learning all OWASP GenAI Top 10.
Patrick Collins - Optum
Course - OWASP GenAI Security
Hands-on, exercises, in-person helping and questioning.