Temario del curso
Manejo de dispositivos multimedia
1. Permisos del navegador con navigator.permissions
- Acceso al hardware:
- Cámara web
- Micrófono
- Permisos opcionales:
- Geolocalización
- Notificaciones
- Portapapeles (lectura/escritura)
- Consulta de permisos y estado
- Limitaciones y compatibilidad entre navegadores
2. Lectura de dispositivos multimedia con navigator.mediaDevices
- Enumeración de dispositivos
- Manejo de cambios en los dispositivos
3. Compatibilidad entre navegadores
- Uso de API:
- navigator.permissions.query()
- navigator.mediaDevices.enumerateDevices()
- getUserMedia()
- Estrategia de respaldo para Safari
4. Manejo de dispositivos multimedia
- Inicialización del dispositivo: getUserMedia(constraints)
- Restricciones de dispositivos multimedia
- Inicio y detención de flujos de medios
- Manejo de cambios en los dispositivos
5. Grabación de dispositivos con MediaRecorder
- Inicio y detención de transmisión y grabación
- Descargar archivo .webm
- Vista previa en tiempo real de la forma de onda
Complementos opcionales:
- Guardar en formato .wav usando ScriptProcessorNode
- Visualización del espectro FFT de audio
- Barra de volumen en decibelios
- Reconocimiento de voz con webkitSpeechRecognition
Conexión punto a punto
1. Servidores de señalización
- Opciones de canal bidireccional:
- WebSocket
- Socket.io
- SignalR
- Estructura del mensaje
- Cliente WebRTC simplificado
- Flujo completo de señalización
2. Chat de video mediante WebRTC
- Arquitectura: Node.js + ws
- Cliente WebRTC: RTCPeerConnection
- Pruebas locales E2E
Características opcionales:
- Colgar llamada (cerrar conexión, detener medios)
- Llamadas grupales (salas multiusuario)
- Autenticación simple basada en tokens
3. Uso compartido de pantalla
- Uso de getDisplayMedia()
- Arquitectura y opciones
4. Protocolo de descripción de sesión (SDP)
- Introducción y contenidos
- Lectura e interpretación de SDP
- Códecs:
- Audio y video
- Negociación y control
- Estrategias de respaldo
5. Estadísticas de WebRTC con getStats()
- Tipos de estadísticas
- Cómo interpretar las estadísticas
- Gráficos en vivo de tasa de bits/jitter
- Estrategias de adaptación de calidad
6. Todos los temas son
- Casos de uso prácticos
Requerimientos
Este curso es ideal para desarrolladores front-end y full-stack, arquitectos técnicos e ingenieros que construyen funciones de comunicación en tiempo real basadas en navegadores, como chat de video, uso compartido de pantalla o transmisión de audio. Los participantes deben tener conocimientos funcionales de JavaScript y tecnologías web, con experiencia opcional en Node.js y comunicación basada en WebSocket.
Testimonios (3)
Realmente disfruté aprender sobre los ataques de IA y las herramientas disponibles para comenzar a practicar y utilizarlas activamente en pruebas de seguridad. Adquirí muchos conocimientos que no tenía al inicio, y el curso cumplió con lo que esperaba. Mi parte favorita del entrenamiento fue el navegador Comet, y quedé impresionado por lo que podía hacer. Sin duda seguiré explorándolo más. En general, fue un excelente curso y disfruté aprender sobre los Top 10 de OWASP para GenAI.
Patrick Collins - Optum
Curso - OWASP GenAI Security
Traducción Automática
Prácticas, ejercicios, asistencia presencial y resolución de dudas.
Jose Paulos - INESC TEC
Curso - Tailwind CSS
Traducción Automática
Que cada lección técnica venía acompañada de múltiples ejercicios prácticos para afianzar los conceptos.
Andrei-Calin Bajea
Curso - OWASP Top 10 2025
Traducción Automática