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: getUserMedia(constraints)
- Configuring media device constraints
- Managing media stream lifecycles (start/stop)
- Responding to device changes
5. Recording Devices with MediaRecorder
- Controlling streaming and recording states
- Downloading .webm files
- Generating real-time waveform previews
Optional Add-ons:
- Exporting to .wav format using ScriptProcessorNode
- Visualizing audio FFT spectrum
- Displaying volume levels in decibels
- Implementing voice recognition via webkitSpeechRecognition
Peer Connection
1. Signaling Servers
- Bidirectional channel options:
- WebSocket
- Socket.io
- SignalR
- Structuring messages
- Building a simplified WebRTC client
- Executing the full signaling flow
2. Video Chat via WebRTC
- Architecture: Node.js + ws
- WebRTC client implementation using RTCPeerConnection
- Conducting local end-to-end testing
Optional Features:
- Implementing call hang-up (closing connections, stopping media)
- Supporting group calling in multi-user rooms
- Integrating token-based simple authentication
3. Screen Sharing
- Utilizing getDisplayMedia()
- Architectural patterns and implementation options
4. Session Description Protocol (SDP)
- Overview and components
- Reading and interpreting SDP data
- Codec management:
- Audio & Video codecs
- Negotiation and control mechanisms
- Fallback strategies
5. WebRTC Statistics with getStats()
- Types of available statistics
- Methods for interpreting stats
- Creating live bitrate and jitter charts
- 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 who are building 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 prior experience in Node.js and WebSocket-based communication being beneficial.
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.