Course Outline
Media Device Management
Browser Permissions using navigator.permissions
- Hardware access:
- Webcam
- Microphone
- Optional permissions:
- Geolocation
- Notifications
- Clipboard (read/write)
- Querying permissions and checking status
- Constraints and browser compatibility
Accessing Media Devices with navigator.mediaDevices
- Listing available devices
- Managing device changes
Cross-Browser Compatibility
- API utilization:
- navigator.permissions.query()
- navigator.mediaDevices.enumerateDevices()
- getUserMedia()
- Safari fallback approaches
Managing Media Devices
- Device initialization: getUserMedia(constraints)
- Media device constraints
- Initiating and terminating media streams
- Responding to device changes
Recording with MediaRecorder
- Managing stream start/stop and recording
- Downloading .webm files
- Live waveform preview
Optional Enhancements:
- Saving audio in .wav format via ScriptProcessorNode
- Audio FFT spectrum visualization
- Volume bar display in decibels
- Voice recognition using webkitSpeechRecognition
Peer Connections
Signaling Servers
- Options for bidirectional channels:
- WebSocket
- Socket.io
- SignalR
- Message formatting
- Simplified WebRTC client implementation
- Complete signaling workflow
WebRTC Video Chatting
- Architecture: Node.js + ws
- WebRTC client: RTCPeerConnection
- Local end-to-end testing
Optional Capabilities:
- Terminating calls (closing connections, stopping media)
- Group calls (multi-user rooms)
- Basic token-based authentication
Screen Sharing
- Utilizing getDisplayMedia()
- Architecture and configuration options
Session Description Protocol (SDP)
- Overview and components
- Parsing and interpreting SDP
- Codecs:
- Audio & Video
- Negotiation and management
- Fallback strategies
WebRTC Statistics via getStats()
- Categories of statistics
- Interpreting statistical data
- Real-time bitrate/jitter graphs
- Strategies for quality adaptation
All topics covered
- Hands-on practical exercises
Requirements
This program is tailored for frontend and full-stack developers, technical architects, and engineers implementing browser-based real-time communication features, such as video conferencing, screen sharing, or audio streaming. Participants should possess a solid understanding of JavaScript and web technologies, with complementary 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.