Course Outline
Handling Media Devices
Browser Permissions via navigator.permissions
- Hardware Access:
- Webcam
- Microphone
- Discretionary Permissions:
- Geolocation
- Notifications
- Clipboard (read/write)
- Querying permissions and checking status
- Constraints and browser compatibility
Accessing Media Devices using navigator.mediaDevices
- Listing available devices
- Managing dynamic device changes
Cross-Browser Compatibility
- API Implementation:
- navigator.permissions.query()
- navigator.mediaDevices.enumerateDevices()
- getUserMedia()
- Strategies for Safari fallbacks
Managing Media Devices
- Device initialization: getUserMedia(constraints)
- Applying media device constraints
- Controlling media stream initiation and termination
- Responding to device changes
Recording with MediaRecorder
- Managing stream and recording start/stop cycles
- Downloading .webm files
- Generating real-time waveform previews
Optional Extensions:
- Exporting audio in .wav format using ScriptProcessorNode
- Visualizing Audio FFT spectra
- Displaying volume levels in decibels
- Implementing voice recognition via webkitSpeechRecognition
Peer Connections
Signaling Servers
- Bidirectional channel alternatives:
- WebSocket
- Socket.io
- SignalR
- Structuring messages
- Simplifying the WebRTC client
- Complete signaling workflows
Video Chat using WebRTC
- Architecture: Node.js + ws
- WebRTC client implementation: RTCPeerConnection
- Local end-to-end testing
Optional Capabilities:
- Terminating calls (closing connections, stopping media)
- Group conferencing (multi-user rooms)
- Basic token-based authentication
Screen Sharing
- Implementing getDisplayMedia()
- Architectural considerations and options
Session Description Protocol (SDP)
- Overview and components
- Parsing and interpreting SDP
- Codecs:
- Audio & Video
- Negotiation and management
- Fallback mechanisms
WebRTC Statistics using getStats()
- Categories of statistics
- Interpreting statistical data
- Live bitrate/jitter visualization
- Strategies for quality adaptation
Covering All Topics
- Practical use-case implementation
Requirements
This program is tailored for front-end and full-stack developers, technical architects, and engineers focusing on browser-based real-time features such as video conferencing, screen sharing, or audio streaming. Candidates are expected to possess a solid grasp of JavaScript and web technologies, with familiarity in Node.js and WebSocket-based interactions 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.